誰かが、JPAと休止状態のコンテキストでPersistenceUtil.isLoadedが何を返すかを説明できますか?私の印象では、値がロードされ、データベースにアクセスしなくてもアクセスできるかどうかを識別します。しかし最近、オブジェクトがHibernateProxyのインスタンスであり、それにアクセスするとLIEがスローされるのに、PesistenceUtil.isLoadedがtrueを返す場合がありました。コメントをいただければ幸いです。
質問する
1014 次
1 に答える
2
PersistenceUtilチェックのメソッドisLoadedは、エンティティがロードされています。ロードされるエンティティは、すべての熱心な属性がデータベースからロードされるか、アプリケーションによって割り当てられることを意味します。JPA 2.0仕様では、これは次の言葉で伝えられます。
FetchType.EAGERを持つすべての属性(明示的に指定されているかデフォルトであるかを問わず)(リレーションシップおよびその他のコレクション値の属性を含む)がデータベースからロードされているか、アプリケーションによって割り当てられている場合、エンティティはロードされていると見なされます。FetchType.LAZYの属性は、ロードされている場合とされていない場合があります。
詳細な説明については、JPA 2.0仕様、3.2.9ロード状態を参照してください。
于 2012-11-25T18:35:37.463 に答える