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