Hibernate能够使用Session.disconnect和Session.reconnect(Connection)从底层JDBC连接断开和重新连接会话。
有没有办法只使用JPA就能达到同样的效果呢?如果没有,在JPA中是否有另一种模式允许我在临时释放底层JDBC连接的同时保持长时间运行的JPA会话打开。
你好,Jochen
发布于 2012-12-07 23:34:09
在EntityManagerFactory和EntityManager中都没有这样的方法。
您可以使用@PersistenceContext(type=PersistenceContextType.EXTENDED)或EntityManagerFactory.createEntityManager()创建一个长时间运行的EntityManager,但是没有断开连接和重新连接的方法。
但是,如果在关闭EntityManger之后,您可以创建一个新的EntityManger,并使用EntityManger.merge() (如果需要,然后使用EntityManger.refresh() )重新连接任何分离的实体。
https://stackoverflow.com/questions/13743363
复制相似问题