Java 在视图中打开新版本Hibernate的会话

Java 在视图中打开新版本Hibernate的会话,java,hibernate,lazy-loading,open-session-in-view,Java,Hibernate,Lazy Loading,Open Session In View,我看了一下,非常受欢迎的页面,看到它以 This page describes Hibernate 3.1.x and code shown here does not work in older versions. 所以我的问题很简单:如何在最新版本的hibernate(4.1+)中实现这样的行为?也许存在更优雅的延迟初始化决策问题?欢迎提供任何建议和链接。与Hibernate 3基本相同,但请参考Hibernate 4软件包: <filter>

我看了一下,非常受欢迎的页面,看到它以

This page describes Hibernate 3.1.x and code shown here does not work in older versions.

所以我的问题很简单:如何在最新版本的hibernate(4.1+)中实现这样的行为?也许存在更优雅的延迟初始化决策问题?欢迎提供任何建议和链接。

与Hibernate 3基本相同,但请参考Hibernate 4软件包:

<filter>
                    <filter-name>hibernateFilter</filter-name>
                    <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
                    <init-param>
                            <param-name>singleSession</param-name>
                            <param-value>true</param-value>
                    </init-param>
            </filter>

            <filter-mapping>
                    <filter-name>hibernateFilter</filter-name>
                    <url-pattern>/*</url-pattern>
            </filter-mapping>

冬眠过滤器
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
单一会话
真的
冬眠过滤器
/*

看看ThreadLocalSessionContext和ManagedSessionContext类。它应该帮助你做你需要的事情


如果您看一下spring的过滤器实现,它很可能使用ThreadLocalSessionContext类。

如果可能,您可以展示这种方法的代码示例吗?例如,过滤器中应该包含什么以及如何打开/关闭会话开始/提交事务。获取spring源代码并将其用作参考。如果你仍然想不出来,请寻求更多的帮助。但你必须先努力