Utilisez l'élément <composite-id> (mêmes attributs et éléments que <component>) au lieu de <id> pour la
déclaration d'une classe identifiant composé :
<class name="eg.Foo" table"FOOS">
<composite-id name="compId" class="eg.FooCompositeID">
<key-property name="string"/>
<key-property name="short"/>
<key-property name="date" column="date_" type="date"/>
</composite-id>
<property name="name"/>
....
</class>
En conséquence, chaque clé étrangère vers la table FOOS est aussi composée. Vous devez déclarez ceci dans les
mappings de et vers les autres classes. Une association vers Foo serait déclarée comme :
<many-to-one name="foo" class="eg.Foo">
<!-- l'attribut class est optionnel, comme d'habitude -->
<column name="foo_string"/>
<column name="foo_short"/>
<column name="foo_date"/>
</many-to-one>
Partager