Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hibernate version: 3.0.1
Bonjour, j'ai un mapping db / classes que j'ai un peu de mal à appréhender.
J'ai 4 tables. A partir de ces 4 tables, il me faut obtenir une classe contenant un HashMap donc les clés sont des string et les valeur une deuxième classe.
L'ennui c'est que les clés de la hashmap sont dans une table et que les valeur de la hashmap sont dans une autre. Une table intermédiaire se charge de faire le lien entre les deux en utilisant une informations contenue dans la classe owner de la HashMap. Bref, a partir de 4 tables, je dois obtenir un mapping deux classes!
Voici en résumé mes table
EMPLOYEE (INTEGER EMPL_ID,...) -> classe employee
USER_FUNCTION (INTEGER FCT_ID,...) -> classe function
USER_FCT_GROUP(INTEGER FCT_GROUP_ID, STRING KEY)
USER_FCT_GROUP_LINK
(INTEGER LINK_ID,
INTEGER FCT_GROUP_ID
INTEGER EMPL_ID
INTEGER FCT_ID);
pour avoir la liste (key -> id de l'object à mettre en valeur) en sql pur, j'ai:
select USER_FCT_GROUP.FCT_GROUP_KEY, USER_FCT_GROUP_LINK.FCT_ID
from USER_FCT_GROUP, USER_FCT_GROUP_LINK
where USER_FCT_GROUP_LINK.empl_id=%EMPLOYEE_ID% AND USER_FCT_GROUP.FCT_GROUP_ID=USER_FCT_GROUP_LINK.FCT_GROUP_ID;
avec EMPLOYEE_ID étant l'id de la classe employee contenant la hashmap.
Autrement dit, je prend les clés dans USER_FCT_GROUP, les valeur sont obtenue en joignant avec USER_FCT_GROUP_LINK, utilisant l'id de l'employée dans la clause where, çà parmet d'obtenir un FCT_ID qui doit ensuite être transformé en un object USER_FUCTION
A l'arrivée, il faudrait que je puisse faire
Function f = (Function)someEmployee.getFunctionMap().get('SomeFunctionKey');
Malheureusement, tous les examples que j'ai vu avec des Map et Hibernate supposent que la clé et la valeur sont dans une même table.
Quelqu'un a une idée???
Ou des pointeurs sur de la doc qui pourraient m'aider?
Merci.