2

複数の列に UniqueConstraint を指定するには、@Table アノテーションを使用して uniqueConstraint の値を指定します。このシナリオに基づいて null 制約も追加したいと思います。

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

エンティティは、電話帳またはグループのいずれかに存在できますが、両方に存在することはできません。これは、グループが所属する電話帳への参照を既に持っているためです。この場合、phonebook と group の両方が null であってはならず、両方とも設定されてはなりません。一度に設定できるのは 1 つだけです。

netbeans 7.2、glassfish 3.2 eclipselink 2.0 での作業

ありがとう。

4

2 に答える 2

0
import javax.validation.constraints.NotNull;

@Entity
public class Contact{

  @NotNull
  private PhoneBook phoneBook;

  @NotNull
  private ContactGroup group;
}

動作するはずです:)

編集:

申し訳ありませんが、クロス検証について書いているのを目にしました。おそらく、独自のバリデータを作成する必要があります。

于 2012-09-11T11:04:10.877 に答える
0

条件に応じて、またはConstraintViolationExceptionのセッターを単に投入します。phoneBookgroup

于 2012-09-12T07:04:28.813 に答える