Table INSTRUMENTS
-ID_INSTRUMENT (PK)
-CODE
-...
Table FUND_INDEXES
-ID_INSTRUMENT (PK1)
-TYPE (PK2)
-RECORD_DATE (PK3)
-ID_INDEX
Table INDEXES
-ID_INDEX
-...
Un instrument (INSTRUMENTS) est lié à un ou plusieurs index (INDEXES) dans la table FUND_INDEXES.
J'essaie de faire la requête suivante (testée sous Oracle):
soit en langage Hibernate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5select ins.CODE from INSTRUMENTS ins join FUND_INDEXES fi on fi.ID_INSTRUMENT = ins.ID_INSTRUMENT join INDEX ind on ind.ID_INDEX = fi.ID_INDEX where fi.ID_INDEX=357
mais rien à faire, le mapping ne fonctionne pas Error creating bean... à cause du ind.index.idIndex
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5select ins.code from Instrument ins join ins.indexes as ind where ind.index.idIndex=357
Voilà comment est construit indexes
Merci d'avance pour votre aide (j'y ai passé la journée...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <map name="indexes" table="FUND_INDEXES"> <key column="ID_INSTRUMENT"/> <map-key type="string" formula="TYPE"/> <composite-element class="FundIndex"> <parent name="instrument"/> <many-to-one name="index" class="Index" column="ID_INDEX"/> <property name="type" column="TYPE" type="string"/> <property name="recordDate" column="RECORD_DATE" type="date"/> </composite-element> </map>
PS : je ne détaille pas le mapping des classes Index et Instrument qui fonctionnent très bien par ailleurs; la nouveauté est de faire fonctionner FundIndex
Partager