Session.disconnect
Hibernateは、とを使用して、基になるJDBC接続からセッションを切断して再接続できますSession.reconnect(Connection)
。
JPAだけを使用して同じことを達成する方法はありますか?そうでない場合は、基盤となるJDBC接続を一時的に解放しながら、長時間実行されているJPAセッションを開いたままにしておくことができる代替パターンがJPAにありますか。
よろしく、ヨッヘン
EntityManagerFactoryにもEntityManagerにもそのようなメソッドはありません。
@PersistenceContext(type = PersistenceContextType.EXTENDED)またはEntityManagerFactory.createEntityManager()を使用して、長時間実行されるEntityManagerを作成できますが、接続を切断して再接続するためのメソッドはありません。
ただし、EntityMangerを閉じた後、新しいEntityMangerを作成し、切り離されたエンティティをEntityManger.merge()(および必要に応じてEntityManger.refresh())で再接続できます。