我有一个与其子节点具有多对多关系的父实体。但是我有一个约束,即父母必须至少有一个孩子。我们如何用JPA / Hibernate注释来描述它?
@Entity
public class Parent {
//parent must have at least 1 Child
@ManyToMany
private Set<Child> children
}
目前,我正在考虑使用拦截器,如下所示:
@PrePersist
@PreUpdate
private validate() {
if(children.size() < 1)
throw new PersistenceException()
}
或者可能在服务层处理此问题。
答案 0 :(得分:1)
尝试使用Hibernate Validator,它使用JSR 303并且也被解释为数据库验证。 因此,您可以使用@NotEmpty批注进行验证,如下所示:
@ManyToMany
@NotEmpty
private Set<Child> children