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)を使用する。
・デフォルトではlazy属性がtrue
・getHibernateTemplate().load()はセッションを内部でopen,closeしている。
その為、セッションをクローズした後に、対象クラスにアクセスしにいこうとして、エラーが発生。(lazyがtrueの場合、実際に使用する時に、DBにアクセスしようとするが、その前にセッションをクローズしている。)
対処方法)
@Entity
@Proxy(lazy=false)
@Table(name="item")
public class Item implements Serializable{
上記例のように、@Proxy(lazy=false)を使用する。
※コメント投稿者のブログIDはブログ作成者のみに通知されます