Bonjour,
Ma base de données contient (entre autres) 1 table Utilisateurs et 1 table Filtres.
Chaque utilisateurs peut définir plusieurs filtres.
Chaque filtre a un nom qui doit être unique pour un utilisateur donné.
Mais 2 utilisateurs différents peuvent très bien utiliser le même nom pour un de leurs filtres.
Mon problème est que je ne trouve pas comment définir le mapping pour définir cette contrainte d'unicité Utilisateur-nom de filtre.
J'ai bien la solution de coder ce qu'il faut pour vérifier à chaque fois mais je trouve qu'il serait plus propre de mettre ça directement comme une contrainte au niveau mapping. D'autant que c'est ce mapping qui se charge de générer la base de données Access quand c'est nécessaire.
Voici mon mapping actuel (épuré du superflu pour ce problème)
Quelqu'un ici saurait-il comment faire ce genre de chose ?
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
25
26
27 <class name="Filter" table="Filters" lazy="true" > <id name="Id" column="id_filter" type="System.Int32" unsaved-value="null"> <generator class="native"/> </id> <property name="Name" column="name" not-null="true" type="System.String" length="150" /> <many-to-one name="User" column="id_user" not-null="false" class="User" /> </class> <class name="User" table="Users" lazy="true" > <id name="Id" column="id_user" type="System.Int32" unsaved-value="null"> <generator class="native"/> </id> <set name="Filters" lazy="true" inverse="true"> <key column="id_user"/> <one-to-many class="Filter"/> </set> </class>
Papy !
Partager