Je veux m'assurer que toutes les lignes de ma table ont une combinaison unique de deux champs, et je veux spécifier cela en utilisant des annotations dans ma classe d'entité. J'ai essayé d'utiliser une combinaison de @Table et @UniqueConstraint mais apparemment je le fais mal, en ce sens que je peux seulement sembler spécifier que les colonnes séparées doivent être uniques (je peux déjà spécifier cela en utilisant la propriété unique de @ Column) plutôt qu'une combinaison de colonnes. Par exemple je veux une table qui a les champs A et B pour ne contenir que des lignes qui ont une combinaison unique de A et B. Ni champ/colonne doit être unique, c'est la combinaison des deux qui devrait être unique.Comment spécifier qu'une combinaison de colonnes doit être une contrainte unique utilisant des annotations?
Voici ce que j'ai essayé jusqu'à présent sans joie:
@Table(name = "MY_TABLE",
uniqueConstraints = @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }))
et
@Table(name = "MY_TABLE",
uniqueConstraints = { @UniqueConstraint(columnNames =
{ "FIELD_A", "FIELD_B" }) })
Quelqu'un peut-il s'il vous plaît suggérer la bonne façon de le faire? Aussi, s'il est possible d'utiliser des annotations JPA à la place des annotations spécifiques à Hibernate qui seraient préférables.
Merci d'avance pour votre aide.
--James
duplication possible de [vérification de contrainte unique dans JPA] (http://stackoverflow.com/questions/1839186/unique-constraint-check-in-jpa) –