У меня возникли некоторые проблемы при попытке удалить объект в моем проекте.
Чтобы объяснить ситуацию, у меня есть две сущности: Родитель и Ребенок.
См. Два класса ниже:
@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: Невозможно создать экземпляр прокси.
Можете ли вы сказать мне, почему у меня возникает эта проблема и как я могу ее решить?