playframework – 引起:javax.persistence.EntityNotFoundExcep
编辑:其他信息:
play.api.Application$$anon$1: Execution exception[[EntityNotFoundException: Bean has been deleted - lazy loading failed]] 2015-11-23T04:48:23.432891+00:00 app[web.1]: at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.7.jar:2.3.7] 2015-11-23T04:48:23.432891+00:00 app[web.1]: at play.api.DefaultApplication.handleError(Application.scala:402) [com.typesafe.play.play_2.10-2.3.7.jar:2.3.7] 2015-11-23T04:48:23.432893+00:00 app[web.1]: at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [com.typesafe.play.play_2.10-2.3.7.jar:2.3.7] 2015-11-23T04:48:23.432894+00:00 app[web.1]: at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [com.typesafe.play.play_2.10-2.3.7.jar:2.3.7] 2015-11-23T04:48:23.432895+00:00 app[web.1]: at scala.Option.map(Option.scala:145) [org.scala-lang.scala-library-2.10.4.jar:na] 2015-11-23T04:48:23.432896+00:00 app[web.1]: Caused by: javax.persistence.EntityNotFoundException: Bean has been deleted - lazy loading failed 2015-11-23T04:48:23.432897+00:00 app[web.1]: at com.avaje.ebean.bean.EntityBeanIntercept.loadBeanInternal(EntityBeanIntercept.java:516) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.3.4.jar:na] 2015-11-23T04:48:23.432898+00:00 app[web.1]: at com.avaje.ebean.bean.EntityBeanIntercept.loadBean(EntityBeanIntercept.java:480) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.3.4.jar:na] 2015-11-23T04:48:23.432899+00:00 app[web.1]: at com.avaje.ebean.bean.EntityBeanIntercept.preGetter(EntityBeanIntercept.java:583) ~[org.avaje.ebeanorm.avaje-ebeanorm-3.3.4.jar:na] 2015-11-23T04:48:23.432899+00:00 app[web.1]: at models.Album._ebean_get_artist(Album.java:4) 2015-11-23T04:48:23.432900+00:00 app[web.1]: at models.Album.getArtist(Album.java) 编辑:添加了相册定义的部分: @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Long id; @Column(length = 254) @Constraints.MaxLength(254) @NotNull public String name; @Column(name = "fullname",length = 254) @Constraints.MaxLength(254) @NotNull public String fullName; public Integer year; @ManyToOne @JoinColumn(name = "artist") public Artist artist; @OneToMany(fetch = FetchType.EAGER,mappedBy = "album") @OrderBy("name asc") public List<Song> songs = Lists.newArrayList(); @OneToMany(fetch = FetchType.EAGER,mappedBy = "originalAlbum") @OrderBy("name asc") public List<Song> covers = Lists.newArrayList(); 我看过EntityNotFoundException: Bean has been deleted – lazy loading failed 某处必定存在一些损坏的数据.但是,由于我正在使用的模型非常复杂,我不知道从哪里开始调试. 有小费吗? (Play Framework 2.3,Avaje Ebean 3.1.1)升级到Play Framework 2.4,仍然是同一个问题. 解决方法
以下是我用于查找ORM问题根本原因的过程:
>识别症状中表达的实体; 将此过程映射到您的问题: >在堆栈跟踪中,我们看到Album在症状中表示(即,您的堆栈跟踪); 正如评论中所指出的,你很有可能遇到了ORM错误.如果可能的话,即使您不能在生产中执行此操作,也可能值得花时间升级到Play和EBean的最新稳定版本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |