解决方案 »

  1.   

    看一下你的dao层有没有继承HibernateDaoSupport,使用这个过滤器我们必须配合使用 Spring 的 HibernateDaoSupport 来进行开发,也就是说,我们的dao层的类都要继承于 HibernateDaoSupport,从中由 Spring 来控制 Hibernate 的 Session 在请求来的时候开启,走的时候关闭,保证了我们访问数据对象时的稳定性。
      

  2.   


    但是我集成的是hibernate4呀,而且4里面已经不存在HibernateDaoSupport这个类了,但是依然存在OpenSessionInViewFilter这个类,我如果想要使用hibernate4的话,那么这种情况应该如何解决呀?
      

  3.   

    转换异常
    你把这个对象 cn.study.model.User_$$_javassist_0 换成  javassist.util.proxy.Proxy
     cn.study.dao.impl.UserDaoImpl.loadUser(UserDaoImpl.java:37)
    你看看这个UserDaoImpl.java:37
     cn.study.service.impl.UserServiceImpl.loadUser(UserServiceImpl.java:52)
    改一下不行把详细异常信息和这个代码发上来
      

  4.   


    那是因为我用的是load方法,如果改成get就不会报错了,出现这个问题的原因是hibernate我使用的是load方法,得到就是一个代理对象,但是我设置了openSessionInViewFilter这个就应该可以将session的存在范围延长到VIEW层了,难道是我用的是Hibernate4吗?
      

  5.   


    那是因为我用的是load方法,如果改成get就不会报错了,出现这个问题的原因是hibernate我使用的是load方法,得到就是一个代理对象,但是我设置了openSessionInViewFilter这个就应该可以将session的存在范围延长到VIEW层了,难道是我用的是Hibernate4吗?get方法正常可以获取到内容
    配置文件lazy="false"
    或者 hibernate 版本
      

  6.   

    关键是我的Bean都是用的注解写的,而且数据库中只存在一张user表,表中只有id,name,password三个字段,配置lazy="false"在哪里配置?难道真的是版本问题?