使用eclipselink在实体表上指定NullConstraint

时间:2012-09-11 09:54:17

标签: java jpa persistence eclipselink

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

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

实体既可以在电话簿中,也可以在一个组中,但不能同时在两个组中,因为一个组已经拥有对它所属的电话簿的引用。在这种情况下,电话簿和组都必须都不为空,并且两者都不能设置,一次只能设置一个。

使用netbeans 7.2,glassfish 3.2 eclipselink 2.0

感谢。

2 个答案:

答案 0 :(得分:0)

import javax.validation.constraints.NotNull;

@Entity
public class Contact{

  @NotNull
  private PhoneBook phoneBook;

  @NotNull
  private ContactGroup group;
}

应该工作:)

编辑:

对不起,现在我看到你写关于交叉验证,可能你必须编写自己的验证器。

答案 1 :(得分:0)

我会根据条件将ConstraintViolationException放入phoneBookgroup的设置器中。