爲什麼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