[英]Open and close Hibernate session
這就是我如何獲得Hibernate Session並創建查詢。
HSession.getSession().createQuery("query here").executeUpdate();
和
Critaria cr=HSession.getSession().createCritaria(..).. ;
HSession是我的Session工廠所在的位置, getSession()
方法返回一個新會話
(getSessionFactory().openSession();)
我想知道是否
cr.list();
會話還活着嗎? 創建會話為
Session s = HSession.getSession();
s.createCriteria ...
是使用會話並使用s.close();
關閉它的方法s.close();
?
是的,會話將一直存在,直到您關閉它。 您可以對會話執行多個操作,但只有close()
將關閉它。
在您的情況下,看起來會話由HSession
控制。 您需要查看它以查看是否執行了任何事務,如何管理會話等。
我今天讀了這篇文章......它說“第一次調用getCurrentSession()時會打開一個會話,而當事務結束時會關閉會話。” 所以根據這個:如果你有一個交易纏繞它(你應該猜我)並調用transaction.commit()...會話關閉。
在你的情況下它應該仍然是開放的。
如果我錯了,請糾正我......! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.