2012-03-20 10 views
1

私はHibernateを使ってマッピングを行っています。私のクラスの1つにlongのセットがあります。このオブジェクトをフェッチするときにlazyをtrueに設定したいと思います。私はオブジェクトをフェッチし、しばらくしてその中のセットを使用すると問題が起こるでしょうか?Hibernate-lazy = true

答えて

1

lazy属性は、子エンティティに適用されます。エンティティが子関係を遅延的にフェッチした場合、アプリケーションからアクセスしようとするまで、データベースからフェッチされません。

lazyは、「ロングセット」には適用されません。私はあなたがそれによって何を意味しているのか分からない。文字通り、数字だけのセットを持っているなら、私はハックして、ロングで構成されたStringを作成する方法を書いて、遅延読み込みを心配する必要はありません。

ユーザーは、セッションが閉じられた後でレイジーコレクションにアクセスしようとするため、多くの場合、lazyで問題が発生します。 hibernateはアクセスされたときにのみ関連するオブジェクトをフェッチするので、セッションが閉じていると問題になります。これは恐ろしいLazyInitializationExceptionです。