Bonjour à toutes et à tous,

Je dois rajouter à un objet mappé dans Hibernate un attribut qui lui est issu d'une autre table que la table mappée par l'objet.

Mon objet est de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public class Personne {
 
   public int id;
   public String dateDeNaissance;
   public String nom;
   public String prenom;
   public String numeroDeCompte;
 
   public Personne() { /* */ }
 
   // getter et setter
}
Mes tables sont:
T_PERSONNE:
- ID_PERSONNE
- NOM_PERSONNE
- PRENOM_PERSONNE
- DATE_NAISSANCE

et

T_BANQUE:
- NUMERO_COMPTE
- ID_PERSONNE
- SOLDE

mon mapping est de type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<hibernate-mapping>
    <class name="com.machin.core.Personne" 
    		table="T_Personne"
    		proxy="com.machin.core.Personne"
    		mutable="false"
    		dynamic-update="false" 
    		dynamic-insert="false">
    	<cache usage="read-only"/>
        <id name="id" column="ID_PERSONNE">
        	<generator class="assigned"/>
        </id>
 
        <property name="nom" column="NOM_PERSONNE"/>
        <property name="prenom" column="PRENOM_PERSONNE"/>
        <property name="dateDeNaissance" column="DATE_NAISSANCE"/>
 
        <set name="numeroDeCompte" table="T_BANQUE">
            <key column="ID_PERSONNE"/>
            <property name="numeroDeCompte" column="NUMERO_COMPTE" where="SOLDE IS NOT NULL"/>
        </set>
   </class>
En fait je dois rajouter au mapping la valeur de numeroDeCompte
correspondant à:
SELECT NUMERO_DE_COMPTE FROM T_BANQUE WHERE SOLDE IS NOT NULL AND ID_PERSONNE = ....

évidemment en partant du principe qu'il n'y a qu'une valeur envoyée par la requête

(pour des raison de confidentialités, j'ai changé les valeurs, nom et idée des tables réellement utilisées... j'ai pris comme exemple le secteur banquaire, mais j'aurais pu aussi prendre le secteur automobile, assurance, télécom, etc...)

Si quelqu'un a une idée de comment faire ce type de mapping sous hibernate, je lui en saurai gré et reconnaissant. Car je n'ai pas trouvé dans les docs disponibles sur la toile comment faire ce genre de chose...

Merci d'avance

Amicalement
Gojira

[edit]correction de l'objet exemple java[/edit]