@Column(name = "userId")
@UniqueConstraint
private Integer userId;
我正在使用这些注释将数据输入数据库表。
我想使userId字段成为唯一字段。但是,当我这样做时,它显示错误@UniqueConstraints is disallowed for this location.
答案 0 :(得分:35)
@Column(name = "userId",unique=true)
或者如果数据库生成ID,您也可以执行此操作
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
答案 1 :(得分:23)
以下是如何使用@UniqueConstraint的示例:
@Entity
@Table(name = "contact",
uniqueConstraints = @UniqueConstraint(columnNames = {"name", "company_id"}))
public class Contact {
...
}
这指定“name”列和“company_id”列的组合将是唯一的。
答案 2 :(得分:6)
这是对@UniqueConstraint
定义的Hibernate doc版本3.5的解释。
@Entity
@Table(name="tbl_sky",uniqueConstraints = {@UniqueConstraint(columnNames={"month", "day"})})
public class Sky implements Serializable {
...
}
这适用于Hibernate 4.3 example @UniqueConstraint