JPA中的多个唯一约束

有没有一种方法可以使用JPA指定在不同的列集上应该有多个唯一约束?

@Entity

@Table(name="person",

uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"}))

public class Person {

// Unique on code and uid

public String code;

public String uid;

// Unique on username

public String username;

public String name;

public String email;

}

我已经看到了特定于hibernate的注释,但是由于我们仍在确定hibernate和数据核之间的关系,因此我试图避免使用特定于供应商的解决方案。

回答:

所述@Table的属性uniqueConstraints实际接受的这些阵列。您的示例只是具有单个元素的数组的简写。否则,它看起来像:

@Table(name="person",  uniqueConstraints={

@UniqueConstraint(columnNames={"code", "uid"}),

@UniqueConstraint(columnNames={"anotherField", "uid"})

})

只要唯一性约束仅基于一个字段,就可以@Column(unique=true)在该列上使用。

以上是 JPA中的多个唯一约束 的全部内容, 来源链接: utcz.com/qa/430528.html

回到顶部