Bonjour,
j'ai un petit souci à Mapper une relation type Père-Fils.
Mon entite.xml :
<class name="com.prod.cy.catalogue.mapping.Node" table="catalogue"
dynamic-insert="true" dynamic-update="true">
<id name="_id" column="ID">
<generator class="native" />
</id>
<many-to-one name="_parent"
class="com.prod.cy.catalogue.mapping.Node" column="PARENT_ID"
not-null="false" />
<set name="_nodeEntries"
sort="com.prod.cy.catalogue.mapping.NodeComparator"
order-by="lower(name) asc" cascade="all" >
<key column="PARENT_ID" not-null="false" foreign-key="true" />
<one-to-many class="com.prod.cy.catalogue.mapping.Node" />
</set>
</class>
Ma classe contient une collection de nodeEntries, dont la clef étrangère est est la colonne PARENT_ID.
Chaque noeud contient une reference "parent" afin d'avoir une navigabilité dans les deux sens.
Le pb est le suivant : lorsque je flush ma session, la colonne PARENT_ID passe à null car la propriété n'est pas mappée puisque je la référence dans mon mapping comme key de mon set.
Je comprends pas prq Hibernate est capable d'instancier correctement les collections contenues dans les éléments mais n'est pas capable de mettre à jour le cas échéant la colonne PARENT_ID.
J'avais pensé mapper directement la propriété parentId (un int avec un getter et un setter) sur PARENT_ID, mais je perds la navigabilité, ce que je ne veux pas.
Si qqun a une idée, je suis preneur car je sèche
Merci à vous !
Partager