問題來源於論壇的一個帖子:
http://topic.csdn.net/u/20080831/18/6fb08087-709e-4a18-9273-a099202e27d6.html
問題:
在hibernate中,
Session session =getSession();
此中的session對象是不是類似 HttpSession 對象,也是表示一次會話?
session.close();需要及時關閉資源,就相當於一次HttpSession 會話中設置session存活時間,以及在適當的時間將HttpSession invalidate()嗎?
回答:
Hibernate 的 Session
是活動的概念,一般會啟用事務。
類似於一次會議,無論會議開多長,都算這一次裡面的。不存在超時的問題。
http session
是為了維護這次與上一次會話,保證相同客戶下一次訪問能留住一些以前保存的東西。
類似於經常開會,每次都有會議紀要留下。
當然,一般有超時限制,比如20分鐘還不來開會,就銷毀給你的所有的歷史會議紀要。
你再來開會,就算新人了。