我正在使用JPA 2 + Hibernate 4,并且正在对模型实体执行一些CRUD操作。如果相关实体存在,则阻止实体删除
现在我需要防止某个实体(EntityB
)被删除时,相关实体(EntityA
)在数据库中存在:
@Entity
public class EntityA {
@Id
private int id;
@OneToOne(mappedBy = "entityA", optional = false, fetch = FetchType.LAZY)
private EntityB entityB;
//...
}
@Entity
public class EntityB {
@Id
private int id;
@OneToOne
@JoinColumn(name = "id")
private EntityA entityA;
//...
}
有没有办法实现这个使用关系选项或我应该检查EntityA
在删除EntityB
之前是否存在于我的dao /存储库中?
注意我需要这也为@ManyToOne
的关系。
同意数据库约束。 +1。请CascadeType.REMOVE删除这条线,它不适合,因为它只是删除参考相关领域... – solvator
是的,我认为设置数据库约束是我的正确方法。谢谢。 – davioooh