【问题标题】:Spring Server/Client Sessions and Hibernate SessionsSpring 服务器/客户端会话和休眠会话
【发布时间】:2011-07-19 15:05:24
【问题描述】:

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

服务器和客户端之间的会话,由会话 id 标识,与休眠会话不同,对吗?

Server 和 Client 之间的会话总是一个 HttpSession。(?)它是什么时候创建的?当用户登录或匿名用户请求页面时(不安全)?

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

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

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

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

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

【问题讨论】:

    标签: java hibernate spring session httpsession


    【解决方案1】:

    是正确的,会议 在服务器和客户端之间,已识别 通过会话 ID,不同于 休眠会话?

    是的,完全不同。

    参考: (javax.servlet) HttpSession, (Hibernate) Session

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

    见Java EE Tutorial > Maintaining Client State

    之间有联系吗 httpsession 和休眠会话?

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

    Hibernate Sessions 是由 sessionfactory 没有连接到 httpsession?

    是的,通常。

    我不确定是哪个 会话休眠指的是 像这样的命令: "this.sessionFactory.getCurrentSession().save(object);"

    休眠Session

    这个“getCurrentSession()”:关于如何 这个休眠会话活动时间长吗? 在用户登录的整个过程中 在?或仅针对一项交易(其中 可以包含多个数据操作?)

    见Hibernate Reference > Session and Transaction Scopes

    【讨论】:

    • 感谢您的快速回答。阅读你给我的资料,我有更多的问题:1.当HttpSession是一个接口时,“HttpSession的对象”怎么能代表一个会话?不是必须有一个具体的类来实现 HttpSession 吗?
    • 2.我可能很愚蠢,但我是否理解正确,当用户第一次连接服务器时会创建一个会话(没有会话 ID)。他不能为此登录。会话在超时(例如 30 分钟后)或用户(如果他已登录)注销时结束
    • 3.通常,当没有配置任何特定内容时,会为一个请求创建一个休眠会话。当未完成数据库操作时,是否还会自动为请求创建休眠会话?谢谢你:-)
    • 1) 有具体的类,但你不应该使用它们。由您的 Servlet 容器来提供特定的实现类。如果您针对该具体类进行编码,则会破坏与其他应用服务器的兼容性。 2) 取决于应用服务器配置 3) 仅在使用 OpenSessionInViewFilter 时才正确。通常,基于 Hibernate 的 Web 应用程序需要为每个请求打开一个 Hibernate Session
    • 谢谢! 2)我在哪里可以看到它是如何配置的?我使用的是tomcat 6,我没有进行任何特殊配置.. 3)也许我们有不同的目的或者我不明白:我想,没有 OpenSessionInViewFilter 也没有任何特定的配置,通常使用每个请求一个会话,对吧? -> 有没有可以用来监控休眠会话的开源工具? (可能绑定到 httpsessions?)
    猜你喜欢
    • 2015-04-17
    • 2012-06-02
    • 2014-11-14
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 2015-03-18
    相关资源
    最近更新 更多