是否有一个JPA替代Hibernate的Session.reconnect

时间:2012-12-06 12:10:33

标签: hibernate jpa

Hibernate能够使用Session.disconnectSession.reconnect(Connection)从其底层JDBC连接断开和重新连接会话。

有没有办法只使用JPA实现相同的目标?如果没有,JPA中是否有替代模式允许我在暂时释放基础JDBC连接时保持长时间运行的JPA会话打开。

此致 约亨

1 个答案:

答案 0 :(得分:1)

EntityManagerFactoryEntityManager都没有这样的方法。

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

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