unique=true
Column
の要素 アノテーションおよび/またはUniqueConstraint
テーブルレベルで使用できるアノテーションは、生成されたDDLに一意の制約を含めることを指定するために使用されます 。
言い換えると、実行時に何も実行せず、検証はデータベースに任され(Javaレベルでユニシティを確実にテストできないため意味があります)、何らかの理由で対応するものがない場合データベースレベルで定義された制約では、何も起こりません。
制約を手動で追加します:
ALTER TABLE Customer ADD CONSTRAINT customer_name_unq UNIQUE (name);
関連項目
- JPA1.0仕様
- 9.1.4UniqueConstraintアノテーション
- 9.1.5列の注釈
- MySQLドキュメント
テーブルロックを取得しない限り(痛い!)、並行環境でSQLクエリを使用して単一性をチェックすることはできません。