比方说a,b表,是一对多关系
我使用hibernate持久化
我现在要删除a表
却报错这样
我通过断点跟踪发现,它出错在
this.getHibernateTemplate().delete(A);
请问这是什么错误?怎么解决?
[ERROR] 2008-09-26 23:08:54 org.hibernate.LazyInitializationException - illegal access to loading collection
org.hibernate.LazyInitializationException: illegal access to loading collection

解决方案 »

  1.   

    因为你配置了级联删除, 但是你加载A对象的时候没有立即加载B(配置延时加载了LazyInitializationException ),
    问题出在 Hibernate要获取B对象的时候获取不到。
      

  2.   

    你说的是 在“一对多”中的“一”中配置一个
    Lazy=false吧,但是,我已经配置了哦 
      

  3.   

    先级联加载出Bpublic A cascadeB(Long id)
    throws ServiceException, Exception {
    A a = (A) getBaseDao()
    .getByKey(id);
    a.getBs().isEmpty();
    return a;
    }删除这个a就没问题了.
      

  4.   

    级联打开了吗?cascade="all-delete-orphan"