1

Session.disconnectHibernate 能够使用和将 Session 从其底层 JDBC 连接断开并重新连接Session.reconnect(Connection)

有没有办法只使用 JPA 来实现相同的目标?如果没有,JPA 中是否有另一种模式允许我在临时释放底层 JDBC 连接的同时保持长时间运行的 JPA 会话打开。

问候, 约臣

4

1 回答 1

1

EntityManagerFactoryEntityManager都没有这样的方法。

您可以使用 @PersistenceContext(type=PersistenceContextType.EXTENDED) 或 EntityManagerFactory.createEntityManager() 创建一个长时间运行的 EntityManager,但没有断开和重新连接连接的方法。

但是,如果在关闭 EntityManger 之后,您可以创建一个新的 EntityManger 并使用 EntityManger.merge() 重新连接任何分离的实体(如果需要,然后使用 EntityManger.refresh() )。

于 2012-12-07T15:34:08.683 回答