我在尝试删除项目中的实体时遇到了一些问题。
为了解释这种情况,我有两个实体“父级”和“子级”。
请参见下面的两个类:
@Entity
private class Parent {
private long id;
@OneToMany(orphanRemoval=true)
private Map<Long, Child> children;
}
@Entity
private class Child {
private long id;
@ManyToOne
private Parent parent;
}
我曾尝试使用parentDAO删除一个子实体。
Parent parent = this.parentDAO.findById(currParentId);
Child child = this.childDAO.findById(currChildId);
parent.getChildren().remove(child.getId());
parent.save()
我希望此代码有效(将孩子从父列表中删除,然后保存将删除孤儿)。另外,我所有的代码都用@Transactional注释。
但是我有一个休眠异常:HibernateException:无法实例化代理实例。
您能告诉我为什么会有这个问题,如何解决?