【发布时间】:2018-05-27 01:22:53
【问题描述】:
我开发了一个带有 spring boot 和 hibernate 的简单应用程序。我以前通过sessionfactory.opensession(); 获取会话,完成所有操作后是否需要手动关闭会话?
在多请求网络应用程序中使用opensession() 而不是getcurrentsession() 是个好主意吗?
【问题讨论】:
-
你不应该这样做。使用
EntityManager而不是Session(Session现在甚至扩展了EntityManager),使用@PersistenceContext注入它,并使用@Transactional为您处理所有事情。更好的是,您可以使用 Spring Data JPA 为您自动生成大部分 DAO。 -
@chrylis 之前我使用过 Spring JAP,现在我需要通过 Hibernate 来完成。
-
“需要”为什么?
-
@chrylis 表示热情。
标签: java spring-boot hibernate-5.x