私は一意ではなく、それ自身がユニークでなければならないキーの複合フィールドとして使用されることになるエンティティクラスの2つのフィールドを持っています。たとえば、2つのフィールド(名前とバージョン)があり、他のレコードと同じにすることができますが、一緒に一意にする必要があります。 Hibernate(注釈付き)を使用してそれを行う最善の方法は何ですか?私は他のフィールドでHibernate Validatorを使用していますが、2つのフィールドが一緒になって一意のキーを構成することを検証する方法はありません。私は複合キークラスのためにスワップアウトすることができるidジェネリックタイプを持っているジェネリックエンティティクラスを使用していますが、まだうまく動作するようにしています。これは、更新時にデータベースによって強制または持続されますHibernateで2つのフィールドの一意のキーを取得する方法は?
@Table(name = "MYTABLE",
uniqueConstraints = { @UniqueConstraint(columnNames = { "NAME", "VERSION" }) })
:
2つの列に「一意制約」を指定するか、2つの列で構成される表に「主キー」を設定しますか? –
2つの列に一意の制約が必要です。たとえば、名前とバージョンの組み合わせは一意でなければなりません。レコード#1(name = abc/version = 1)とレコード#2(name = abc/version = 2)の2つのレコードをレコード#1(name = abc/version = 1)とレコード#2(name = abc/version = 1)を使用しています。 –