当前位置: 代码迷 >> J2EE >> hibernate出现懒加载错误怎么处理 如果不把lazy设置为flase 因为这样慢 也不弄opensesioninview 还有其它好方法吗
  详细解决方案

hibernate出现懒加载错误怎么处理 如果不把lazy设置为flase 因为这样慢 也不弄opensesioninview 还有其它好方法吗

热度:49   发布时间:2016-04-17 23:35:51.0
hibernate出现懒加载异常怎么办 如果不把lazy设置为flase 因为这样慢 也不弄opensesioninview 还有其它好方法吗
hibernate出现懒加载异常怎么办 如果不把lazy设置为flase 因为这样慢  也不弄opensesioninview   还有其它好方法吗
------解决思路----------------------
1,在读取数据之前,就先把数据加载一边。
2,利用org.hibernate.Hibernte类的intialize()静态方法。

 例:
      isInitialized()方法用于判断代理类是否已经被初始化。
    例如:

    Emp emp = (Emp)session.load(Emp.class, new Byte("10"));

   //判断对象是否初始化
    if(!Hibernate.isinitialize(emp)){
   
    //没有就初始化它
      Hibernate.initialize(emp);
       
 } 

 
------解决思路----------------------
你可以查查hibernate/jpa的 join  ,join fetch
------解决思路----------------------
自己写hql
使用left jon fetch 将懒加载的对象抓取

String hql = "FROM Goods g LEFT JOIN FETCH g.type WHERE 1=1 ";
  相关解决方案