Hibernate annotationでLazyInitializationException

2008-02-16 01:57:28 | hibernate
Hibernate annotationでload時にorg.hibernate.LazyInitializationException: could not initialize proxy - no Sessionが発生する。

・デフォルトではlazy属性がtrue
・getHibernateTemplate().load()はセッションを内部でopen,closeしている。

その為、セッションをクローズした後に、対象クラスにアクセスしにいこうとして、エラーが発生。(lazyがtrueの場合、実際に使用する時に、DBにアクセスしようとするが、その前にセッションをクローズしている。)

対処方法)
@Entity
@Proxy(lazy=false)
@Table(name="item")
public class Item implements Serializable{

上記例のように、@Proxy(lazy=false)を使用する。


コメントを投稿