日期:2014-05-20  浏览次数:20566 次

大家一起讨论下..关于hibernate级联查询,以及session关闭问题
以前用hibernate只用映射,不用关联.
        现在用关联发现很多问题..查完数据,要关闭session..但是设置了延迟加载的时候session关闭了,异常..
        网上有朋友说不用关闭,这样的话会不会有问题??
        有的说用spring的OpenSessionInViewFilter..
        如果不用spring的话,有什么好的办法??谢谢大家!~

------解决方案--------------------
hibernate的关联是魔鬼.使用了,就等于自杀.
------解决方案--------------------

------解决方案--------------------
如果在你的应用中,一次请求的过程中使用了单一的一个HIbernate Session,在这种情况下,采用这个filter会产生一些以前没遇到的问题。特别需要注意的是通过
Hibernate Session重新组织持久化对象之间关系的相关操作需要在请求的最开始进行。以免与已经加载的相同对象发生冲突。或者,我们可以通过指定 "singleSession "= "false "的方式把这个过滤器调到延期关闭模式。这样在一次请求的过程中不会使用一个单一的Session.每一次数据访问或事务相关操作都使用属于它自己的session(有点像不使用Open Session in View).这些session都被注册成延迟关闭模式,即使是在这一次的请求中它相关操作已经完成。

------解决方案--------------------
结帖给分