错误:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session我已经设置了:
  <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>@Transactional使用getCurrentSession()
使用get()没有问题;
使用load就有问题使用opentSession() 都没有问题;求大神指导;测试代码如下:
此处:getsession()为sessionFactory.getCurrentSession();的封装 public T load(Class<?> clazz, int id){
//return (T)sessionFactory.openSession().load(clazz,id); //没问题
return (T) getSession().load(clazz,id); //此处load有问题
//return (T) getSession().get(clazz,id); //没问题
}Hibernatesessionloadjavaj2ee

解决方案 »

  1.   

    你的映射文件配置呢  <many-to-one>或者<set> 中设置 lazy="false",默认是lazy="proxy"
      

  2.   

    如果你是在web环境中,可以用OpenSessionInView的filter或interceptor,也可以向楼上不使用懒加载,关键你用Load返回的代理对象如果在使用的时候Session已经关闭了,当然会报这个错.
      

  3.   

    我没有使用关系映射,只是单独的读取一个对象,如果使用filter或interceptor的话,感觉有点繁琐,此处如果我直接使用get()的话,不知道有没有什么不妥,我使用了二级缓存。