Problème mapping multiple
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):
Code:
1 2 3 4 5
| select 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 |
soit en langage Hibernate :
Code:
1 2 3 4 5
|
select ins.code
from Instrument ins
join ins.indexes as ind
where ind.index.idIndex=357 |
mais rien à faire, le mapping ne fonctionne pas Error creating bean... à cause du ind.index.idIndex
Voilà comment est construit indexes
Code:
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> |
Merci d'avance pour votre aide (j'y ai passé la journée...)
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