2012-12-06 44 views
1

Hibernate能夠使用Session.disconnectSession.reconnect(Connection)斷開連接並將其與基礎JDBC連接重新連接。是否有替代Hibernate的Session.reconnect的JPA

有沒有一種方法可以僅使用JPA來實現相同?如果不是,JPA中是否存在另一種模式,允許我在暫時釋放基礎JDBC連接的同時保持打開長時間運行的JPA會話。

問候, 約亨

回答

1

有既不EntityManagerFactory也不EntityManager沒有這樣的方法。

您可以使用@PersistenceContext(type = PersistenceContextType.EXTENDED)或EntityManagerFactory.createEntityManager()創建長時間運行的EntityManager,但沒有用於斷開和重新連接Connection的方法。但是,如果在關閉一個EntityManger後,您可以創建一個新的EntityManger,並使用EntityManger.merge()重新連接任何分離的實體(如果需要,然後EntityManger.refresh())。

+0

織補。我曾希望解決拆分/合併混亂...... – Jochen