@Column(name = "userId")
@UniqueConstraint
private Integer userId;
データベーステーブルにデータを入力するためにこれらの注釈を使用しています。 userIdフィールドを一意のフィールドにしたい。しかし、私がそれのようにやっているとき、それは私にエラーを示しています@UniqueConstraints is disallowed for this location.
@Column(name = "userId",unique=true)
または、DBが生成した場合 [〜#〜] id [〜#〜] これも実行できます
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@UniqueConstraintの使用例を次に示します。
@Entity
@Table(name = "contact",
uniqueConstraints = @UniqueConstraint(columnNames = {"name", "company_id"}))
public class Contact {
...
}
これは、「name」列と「company_id」列の組み合わせが一意になることを指定します。
そして、これが@UniqueConstraint
定義の Hibernate doc バージョン3.5の説明です。
@Entity
@Table(name="tbl_sky",uniqueConstraints = {@UniqueConstraint(columnNames={"month", "day"})})
public class Sky implements Serializable {
...
}
これは Hibernate 4.3の例 @UniqueConstraint用です