java - JPA - 定义多列唯一约束

标签 java jpa persistence

是否可以使用 JPA 定义多个唯一约束。

@Entity
class Foo {
    long id;

     String name;

     MyEnum type;

}

Foo.id 应该是唯一的,{Foo.name, Foo.type} 的组合也应该是唯一的。
例如
id, 名字, 类型
1、“name1”、“type1”
2、“name1”、“type2”
3, "name1", "type1"//id = 1 的错误重复

如何使用 JPA 注释实现此目的?

谢谢

最佳答案

使用 Table 注解的 uniqueConstraints 属性:

@Table(name = "FOO", uniqueConstraints={
    @UniqueConstraint(columnNames = {"NAME", "TYPE"})
})

关于java - JPA - 定义多列唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6650589/

相关文章:

java - 丰富 :menuitem passing parameter

java - 带有 spring boot JPA Postgresql 的 data.sql 未加载

database - 是否存在基于冗余而非持久存储的持久性数据库?

java - 使用 JoinTable(带有 OrderColumn)删除 OneToMany/ManyToOne 双向关系中的重复项

java - 集合中的新实体不会被持久化

java - Spring MVC RESTful 多 View - 404 未找到

java - 如何从 jtextarea 中清除文本,然后继续 append 其他文本(使用相同的按钮)?

java - 如何将MySQL数据库中的图像显示到java中的jTable中?

java - 从一对多关系获取列表时出错,字段列表中的未知列 '***'

hibernate - JPA 中 Coalesce 或 Case 语句的使用