为什么Hibernate没有将会话设置为自动关闭?会话设计是否有用。为什么Hibernate没有将会话设置为自动关闭?
我们是否应该编写自己的包装类来做到这一点,以便可以使用Java 7的ARM特性?
为什么Hibernate没有将会话设置为自动关闭?会话设计是否有用。为什么Hibernate没有将会话设置为自动关闭?
我们是否应该编写自己的包装类来做到这一点,以便可以使用Java 7的ARM特性?
Hibernate与Java 6兼容。由于AutoCloseable
是在Java 7中引入的,因此只能由需要Java 7的软件使用。需要Java 7的Hibernate版本可能包含实现AutoCloseable
的Session
。
这已经在休眠版本5中修复。 如果您可以升级到版本5,请使用它。 支持吉拉票
https://hibernate.atlassian.net/browse/HHH-8898
对于项目,不能升级,为此,我们可以实现我们自己的CloseableSession接口。
public class CloseableSession implements AutoCloseable {
private final Session session;
public CloseableSession(Session session) {
this.session = session;
}
public Session getSession() {
return session;
}
@Override
public void close() {
session.close();
}
}
使用
try (CloseableSession session = new CloseableSession(
sessionFactory.openSession())) {
}
会话工厂生成会话对象为你们每一个人都time.session可你只需要进行配置的方式自动刷新。 – arjun 2015-04-02 16:02:01