JPA - 定义多列唯一约束

8 java persistence jpa

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

@Entity
class Foo {
    long id;

     String name;

     MyEnum type;

}
Run Code Online (Sandbox Code Playgroud)

Foo.id应该是唯一的{Foo.name,Foo.type}的组合.
防爆.
id,name,type
1,"name1","type1"
2,"name1","type2"
3,"name1","type1"//错误重复的id = 1

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

谢谢

JB *_*zet 15

使用注释的uniqueConstraints属性Table:

@Table(name = "FOO", uniqueConstraints={
    @UniqueConstraint(columnNames = {"NAME", "TYPE"})
})
Run Code Online (Sandbox Code Playgroud)