【问题标题】:JPA/Hibernate ManyToMany not nullable contstraintJPA/Hibernate 多对多不可空约束
【发布时间】:2015-06-22 19:18:31
【问题描述】:

我有一个与其子实体具有多对多关系的父实体。但是我有一个限制,即父母必须至少有 1 个孩子。我们如何使用 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()
}

或者可能在服务层处理这个。

【问题讨论】:

    标签: java hibernate jpa


    【解决方案1】:

    尝试使用 Hibernate Validator,它使用 JSR 303 并且也被解释为数据库验证。 因此,您可以像这样使用@NotEmpty 注解进行验证:

     @ManyToMany
     @NotEmpty
        private Set<Child> children    
    

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 2014-10-08
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多