我想确保表中的所有行都有两个字段的唯一组合,我想在我的实体类中使用注释来指定它。我尝试过使用@Table和@UniqueConstraint的组合,但显然我做错了,因为我似乎只能指定单独的列应该是唯一的(我已经可以指定使用@ Column的唯一属性)比列的组合。例如,我想要一个表,其中字段A和B只包含具有A和B唯一组合的行。字段/列都不需要是唯一的,它们是两者的组合,应该是唯一的。
到目前为止,这是我尝试过的,没有任何乐趣:
@Table(name = "MY_TABLE",
uniqueConstraints = @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }))
和
@Table(name = "MY_TABLE",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }) })
有人可以建议正确的方法吗?此外,如果可以使用JPA注释而不是特定于Hibernate的注释。
提前感谢您的帮助。
- 詹姆斯
答案 0 :(得分:14)
你的第二次尝试
@Table(name = "MY_TABLE",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }) })
应该按预期工作。