Hibernate能够使用Session.disconnect
和Session.reconnect(Connection)
从其底层JDBC连接断开和重新连接会话。
有没有办法只使用JPA实现相同的目标?如果没有,JPA中是否有替代模式允许我在暂时释放基础JDBC连接时保持长时间运行的JPA会话打开。
此致 约亨
答案 0 :(得分:1)
EntityManagerFactory和EntityManager都没有这样的方法。
您可以使用@PersistenceContext(type = PersistenceContextType.EXTENDED)或EntityManagerFactory.createEntityManager()创建长时间运行的EntityManager,但是没有用于断开连接和重新连接的方法。
但是,如果在关闭EntityManger之后,您可以创建一个新的EntityManger并使用EntityManger.merge()重新连接任何分离的实体(如果需要,则重新连接EntityManger.refresh())。