Salut,
Pour valider l'unicité d'un champs jj'ai utilisé la proprité "unique" de @Column
Voici ma classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
@Entity
@Table(name="TEST")
public class Test{
 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
 
    @Size(min=3, max=50)
    @Column(name = "AA", nullable = false)
    private String aa;
 
 
    @NotNull
    @Digits(integer=8, fraction=2)
    @Column(name = "BB", nullable = false)
    private BigDecimal bb;
 
    @NotEmpty
    @Column(name = "CC", unique=true, nullable = false)
    private String cc;
 
}
En cas d'erreur de validation j'utilise le fichier messages.properties dont le contenu est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Size.test.aa= must be between {2} and {1} characters long
NotNull.test.bb= can not be blank
Digits.test.bb=Only numeric data with max 8 digits and with max 2 precision is allowed
NotEmpty.test.cc= can not be blank
non.unique.cc=CC {0} already exist. Please fill in different value.
jusqu’à la tous fonctionne parfaitement quand j'essaye de valider une valeur de "cc" déjà existante dans la BD, le message "CC {0} already exist. Please fill in different value" est affichée.

le probleme maintenant est que j'ai une 2 classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
@Entity
@Table(name="TEST1", uniqueConstraints = {
        @UniqueConstraint(columnNames = { "xx", "yy"}) })
public class Test1{
 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
 
    @NotBlank
    @Column(name = "XX", nullable = false)
    private String xx;
 
 
    @NotBlank
    @Column(name = "YY", nullable = false)
    private String yy;
 
    @NotBlank
    @Column(name = "ZZ", nullable = false)
    private String zz;
 
}
comment dois je traiter avec une contrainte d'unicité sur plusieurs champs? je voudrais affiché un message comme j'ai fais pour le champs "cc", indiquant au USer comme quoi la combine des 2 champs saisi existe deja ..

MERCI