在同一个request里可以,他们的session是同一个

解决方案 »

  1.   

    谢谢回复,但是我是在同一个方法中用的,就是我在页面呈现之前就有一段测试代码,控制台打印的,但是却因为lazy问题出错了,不知道是不是我还有什么没有配置呢?
      

  2.   

    后来又发现了一点:我是action-->service-->dao这样的结构,service是通过spring IOC弄进去action的,这样的话如果我采用action本身的service,比如UnitAction里面有UnitService,那么我用UnitService取出了一个unit以后,使用unit.getUsers()没有问题。但是如果我在action需要用到另外的service,比如ProjectService,那么这个service取出了一个project以后,再用project.getSomeSet()这样就又会有lazy问题了出现了。ProjectService是通过spring的getBean方法初始化的,不知问题何在?
      

  3.   

    看一下事务的传播,是否session已经关闭了。
      

  4.   

    又发现了新的:如果我在spring配置文件中加入了多个srv的注入配置,则运行很正常。就是不知道为什么用getBean()方法不行。另外可以说:getBean()方法是肯定可以的,因为公司的就那样。但是我自己做的就不行了
      

  5.   

    其实 open session in view 不是在jsp上才有hibernate的 session  而是显示页面的时候才关闭session 所以一直都是共用的啦
    我觉得是你程序问题
    楼下怎么认为?
      

  6.   

    各个不同的service有不同的dao,dao都继承spring的HibernateDaoSupport,当用不同的dao的时候能绑定到同一session?