是否有任何会话/休眠功能可以重新连接/重新打开
日志:严重:连接关闭后不允许任何操作。
不,您应该创建/打开一个新的Session
.
这是如何确保会话始终有效的代码示例。第 2 行必须重新分配会话,因为openSession
返回一个新会话。只是session.getSessionFactory().openSession()
还不够。
if (!session.isOpen()) {
session = session.getSessionFactory().openSession();
session.beginTransaction();
}
// operate your session
Criteria criteria = session.createCriteria(clazz);
a的lifecycle
a以 aSession
的开头和结尾为界logical transaction
。(长事务可能跨越多个数据库事务。)
一旦你的transaction committed
,将Session
不可用。你必须创建一个新的。