在Hibernate中指定"一起独特"的限制

Car*_*bés 3 hibernate

我有一个实体,我想指定一个限制,两个字段应该有一个唯一的对值.例如,一个字段是所有者,另一个字段是名称,我想要一个限制,即(所有者,名称)的组合应该是唯一的.但我不想让这些成为复合主键:

@Entity
@Table(name="keyfile")
public class KeyFile {

   @Id @GeneratedValue(strategy=GenerationType.AUTO)
   private Long id;
   @ManyToOne @ForeignKey(name="FK_SIGNATUREID_USER")
   private User owner;
   @Column(nullable=false,length=80)
   private String name;
}
Run Code Online (Sandbox Code Playgroud)

如何使用Hibernate注释指定此限制?

And*_*eas 5

试试这里提到的解决方案:

https://forum.hibernate.org/viewtopic.php?p=2370666

因此,它是

@Entity
@Table(name="keyfile",
       uniqueConstraints = {@UniqueConstraint(columnNames={"owner", "name"})}
public class KeyFile { ... }
Run Code Online (Sandbox Code Playgroud)