テーブル内のすべての行に 2 つのフィールドの一意の組み合わせがあることを確認し、エンティティ クラスの注釈を使用してこれを指定したいと考えています。@Table と @UniqueConstraint の組み合わせを使用してみましたが、どうやら間違っているようです。個別の列が一意であることを指定することしかできないようです (@Column の一意のプロパティを使用して既に指定できます)。列の組み合わせよりも。たとえば、フィールド A と B を持つテーブルに、A と B の一意の組み合わせを持つ行のみを含める必要があります。どちらのフィールド/列も一意である必要はありません。一意であるべきは 2 つの組み合わせです。
これが私がこれまでに試したことです。
@Table(name = "MY_TABLE",
uniqueConstraints = @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }))
と
@Table(name = "MY_TABLE",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }) })
誰かがこれを行う正しい方法を提案できますか? また、Hibernate 固有のアノテーションの代わりに JPA アノテーションを使用できる場合は、それが望ましいでしょう。
よろしくお願いします。
--ジェームズ