有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用eclipselink在实体表上指定NullConstraint

要在多个列上指定UniqueConstraint,我使用@Table注释并指定UniqueConstraint的值。 我还想根据这个场景添加一个空约束:

@Entity
public class Contact{
  private PhoneBook phoneBook;
  private ContactGroup group;
}

一个实体可以在电话簿中,也可以在一个组中,但不能同时在两个组中,因为一个组已经引用了它所属的电话簿。在这种情况下,电话簿和通话组都不能为空,也不能同时设置,一次只能设置一个

在netbeans 7.2、glassfish 3.2 eclipselink 2.0上工作

谢谢


共 (2) 个答案

  1. # 1 楼答案

    import javax.validation.constraints.NotNull;
    
    @Entity
    public class Contact{
    
      @NotNull
      private PhoneBook phoneBook;
    
      @NotNull
      private ContactGroup group;
    }
    

    应该有用:)

    编辑:

    很抱歉,现在我看到你在写交叉验证,可能你必须编写自己的验证程序

  2. # 2 楼答案

    我只需根据条件在phoneBookgroup的setter中抛出ConstraintViolationException