这个方式不太好吧,把生成view放到数据库session里面

解决方案 »

  1.   

    OpenSessionInViewFilter你放到哪个位置了,过滤器读取是有顺序的
      

  2.   

    LZ,你不会Hibernate,鉴定完毕,闪
      

  3.   

    首先,lazy="true"好像才是延迟加载!
    其次,既然使用的延迟加载,那么session就不能关闭,不然当第2次进行查询时,就会抛出楼主所说的异常要么就是lazy="false",让hibernate进行立即加载,把和查询表有映射关系的都查询出来,session关了一样可以读出数据
      

  4.   

    Hibernate提供了延迟加载目的就是为了提高程序的执行效率也就是说,当你需要延迟的时候,就只加载目标对象如果你要求立即加载,可以使用HQL语句中的left Join fetch此时hibernate 再检索的时候就会不管配置文件中的配置而实施立即加载了关键是在调用查询的时候,就把两种情况分离开就不会出现你说的问题了
      

  5.   

    加上这个属性节点看看
    <session-factory>
    <property name="connection.autocommit">true</property>
    </session-factory>
      

  6.   

    这样配置都没出错吗?
    那个openSessionInView 是 spring自带的filter没用spring都可以这样配置呐
      

  7.   

    在获取那个实体时将你要获取的另个对象强制初始化
    如:
    Users user = getUserById(id);//获取到user对象
    Roles role = user.getRole();//获取角色对象
    Hibernate.init...(role);//强制初始化
       方法不太记得了