Bonjour à tous (et toutes),
J'ai une relation un à plusieurs ("source"-"évènements") qui utilise un id assigné pour les "évènements". Celui-ci est une java.util.Date.
Mais il pourrais arriver que pour une "source" différente j'ai des "évènements" qui se produisent au même moment.
Ma solution serais alors de créer un composite-id basé sur la java.util.Date et le "source.id" mais je n'ai pas besoin d'avoir une référence à la "source" dans mes "évènements".
--> Est-il possible d'inclure la clef étrangère d'une relation dans un composite-id ?
Mon mapping actuel :
Merci.
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 <class name="me.test.Source" table="sources"> <id name="id" column="id"> <generator class="assigned" /> </id> <set name="events" table="events" lazy="false" sort="natural" cascade="all"> <key column="sourceId" /> <one-to-many class="me.test.Source"/> </set> </class> <class name="me.test.Events" table="events"> <name="date" column="date"> <generator class="assigned" /> </id> <property name="description" /> </class>
Ps: une solution serait surement de rajouter la propriété "sourceId" dans "évènement" sans jamais l'utiliser. Avec peut-être des accesseurs protégés et dépréciés pour ne pas risquer d'embrouiller un développeur. Mais si il y à moyen d'éviter cette magouille, je préfère.
Partager