Указание ограничений «уникально вместе» в Hibernate - PullRequest
3 голосов
/ 09 июля 2010

У меня есть объект, в котором я хочу указать ограничение, согласно которому два поля должны иметь уникальное значение пары.Например, одно поле - владелец, другое - имя, я хочу, чтобы комбинация (владелец, имя) была уникальной.Но я не хочу делать их составным первичным ключом:

@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;
}

Как мне указать это ограничение с аннотацией Hibernate?

1 Ответ

5 голосов
/ 09 июля 2010

Попробуйте решение, упомянутое здесь:

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

Ergo это

@Entity
@Table(name="keyfile",
       uniqueConstraints = {@UniqueConstraint(columnNames={"owner", "name"})}
public class KeyFile { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...