質問:
PersistenceUtil.isLoaded は、どの EntityManager を見て評価されますか、それとも L2 キャッシュですか? すべてのエンティティは、これらの 1 つだけによって読み込まれます。
PersistenceUtil.isLoaded メソッドの定義は次のように
述べています。しかし、ロードされた場所についての言及はありませんか?
質問:
PersistenceUtil.isLoaded は、どの EntityManager を見て評価されますか、それとも L2 キャッシュですか? すべてのエンティティは、これらの 1 つだけによって読み込まれます。
PersistenceUtil.isLoaded メソッドの定義は次のように
述べています。しかし、ロードされた場所についての言及はありませんか?
このインターフェースの実装でソースコードをチェックしました。定義されたすべての永続isLoaded
的なプロバイダーを調べて、エンティティがそれらのいずれかにアタッチされているかどうかを確認しているようです。
その結果、エンティティがどの EntityManager にバインドされているかを知ることができません。
JPA のエンティティーはエンティティー・マネージャーに接続されており、それを支援するための配管があります - fe clear()
, contains()
, merge()
inEntityManager
だけを参照してください。
通常、エンティティはEntityManager
それらを作成した にアタッチされます。異なるEntityManager
のエンティティを混在させることはお勧めできません。