2009-12-03 5 views
11

J'applique une vérification de contrainte unique dans JPA pour la colonne userid qui est appliquée pour tous les enregistrements de la table utilisateur.vérification de contrainte unique dans JPA

@Table(name = "user", 
     uniqueConstraints = @UniqueConstraint(columnNames = userid)) 

Mon exigence est que les ID utilisateur dans une organisation particulière doivent être uniques et non dans toutes les organisations.

Comment puis-je appliquer une telle vérification?

Répondre

18

Vous pouvez spécifier plus d'un champ pour votre contrainte unique, essayez:

uniqueConstraints={@UniqueConstraint(columnNames={"userid", "organizationid"})} 

En faisant cela, vos contrôles de contrainte si la combinaison ID utilisateur et organizationid est unique.

Meilleurs voeux, Fabian

+0

Merci pour la réponse rapide, il fonctionne comme prévu. – Joe

+0

Appréciez vos idées dans ce domaine? Campus a OneToMany Buildings Le bâtiment a OneToMany Pièces Les noms de pièces doivent être uniques dans un campus. Serait-il possible de définir une telle contrainte sur l'entité Room? – Joe