4

我使用 Spring 3 和 Hibernate 3.6 来开发 Web 应用程序 - 我是新手,我想知道我是否真的了解会话是如何工作的。

由会话 id 标识的服务器和客户端之间的会话与休眠会话不同是否正确?

服务器和客户端之间的会话始终是一个 HttpSession。(?)它是什么时候创建的?当用户登录或匿名用户请求页面(不安全)时?

httpsession和hibernate-sessions之间有什么联系吗?休眠会话是由没有连接到 httpsession 的 sessionfactory 创建的吗?我不确定哪个会话休眠使用如下命令引用:

this.sessionFactory.getCurrentSession().save(object);

getCurrentSession():这个休眠会话活动多​​长时间?在用户登录的整个过程中?或仅针对一项事务(可以包括多个数据操作?)

我很抱歉这个问题可能很容易回答,但大多数文件都是英文的,如果不是这样,母语理解有时会很困难(主要是因为经常使用“会话”这个词)

感谢您帮助我理解这个话题!:-)

4

1 回答 1

6

由会话 id 标识的服务器和客户端之间的会话与休眠会话不同是否正确?

是的,完全不同。

参考:(javax.servlet)HttpSession,(休眠)Session

服务器和客户端之间的会话始终是一个 HttpSession。(?)它是什么时候创建的?当用户登录或匿名用户请求页面(不安全)时?

请参阅 Java EE 教程 > 维护客户端状态

httpsession和hibernate-sessions之间有什么联系吗?

不,尽管OpenSessionInViewFilter可以确保Session每个 HTTP 请求都有一个 Hibernate 可用(每个请求一个 Hibernate 会话,而不是每个 Web 会话)。

休眠会话是由没有连接到 httpsession 的 sessionfactory 创建的吗?

是的,通常。

我不确定哪个会话休眠使用如下命令引用:“this.sessionFactory.getCurrentSession().save(object);”

休眠Session

这个“getCurrentSession()”:这个休眠会话活动多​​长时间?在用户登录的整个过程中?或仅针对一项事务(可以包括多个数据操作?)

请参阅 Hibernate 参考 > 会话和事务范围

于 2011-03-21T12:15:40.387 回答