Bonjour,
je dispose d'actuellement trois tables (dans une base de donnees Oracle) dont je ne parviens a ecrire le mapping.
Ce que je souhaite a faire est la representation des clefs primaires de ces tables
DOCUMENTS TASQUES_DOCUMENTS TASQUES
TDO_SYS ---------- TTD_SYS ------------ TTQ_SYS
TDO_CODI ---------- TDO_CODI
TTQ_CODI ------------ TTQ_CODI
J'ai donc defini DOCUMENTS:
Code:
<hibernate-mapping package="net.gencat.uid.model.param.document">
<class
name="Document"
table="UIDT_DOCUMENTS">
<composite-id>
<key-property name="dosys" column="TDO_SYS" />
<key-property name="docodi" column="TDO_CODI" />
</composite-id>
</class>
</hibernate-mapping>
puis TASQUES :
Code:
<hibernate-mapping package="net.gencat.uid.model.param.tasca">
<class
name="Tasca"
table="UIDT_TASQUES">
<composite-id>
<key-property name="tqsys" column="TTQ_SYS" />
<key-property name="tqcodi" column="TTQ_CODI" />
</composite-id>
<set name="tascaDocuments" inverse="true" lazy="true" order-by="TDO_CODI">
<key>
<column name="TTQ_CODI"/>
<column name="TTQ_SYS"/>
</key>
<one-to-many class="net.gencat.uid.model.param.tasca.TascaDocument"/>
</set>
</class>
</hibernate-mapping>
et enfin TASQUES_DOCUMENTS :
Code:
<hibernate-mapping package="net.gencat.uid.model.param.tasca" >
<class
name="TascaDocument"
table="UIDT_TASQUES_DOCUMENTS">
<composite-id name="id" class="TascaDocumentPK">
<key-property name="tdsys" column="TTD_SYS"/>
<key-many-to-one name="tasca"
class="net.gencat.uid.model.param.tasca.Tasca">
<column name="TTQ_SYS"/>
<column name="TTQ_CODI"/>
</key-many-to-one>
<key-many-to-one name="document"
class="net.gencat.uid.model.param.document.Document">
<column name="TDO_SYS"/>
<column name="TDO_CODI"/>
</key-many-to-one>
</composite-id>
</class>
</hibernate-mapping>
Vous l'aurez certainement compris, c'est sur ce dernier que j'ai des soucis. Quand j'essaye d'acceder a travers mon set qui est dans Tasques cela me declenche une erreur de type SQLGrammarException. Probablement parce que ce mapping n'est pas bon.
J'a bien cree les classes associes, ainsi que celle qui contient la clef primaire de Tasques_Documents.
Avez-vous une idee ?