Bonjour,

J'aimerai une aide et une explication au cas suivant que je ne comprends pas...

J'ai deux tables :
- Utilisateur et InformationsUtilisateurs
- InformationUtilisateur possede un champ idUtilisateur avec une foreign-key idUtilisateurInformation faisant référence à la table utilisateur.

J'ai deux bean Java:
- Un objet Utilisateur avec une reference sur l'objet InformationUtilisateur
- Un objet InformationUtilisateur avec un champ idUtilisateur

J'ai ensuite un mapping hibernate comme suit :
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
23
24
25
26
27
28
29
30
31
 
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 28 mars 2012 17:39:27 by Hibernate Tools 3.3.0.GA -->
<hibernate-mapping>
    <class name="com.model.bean.InformationsUtilisateur" table="INFORMATIONSUTILISATEUR">
        <id name="idInformationsUtilisateur" type="java.lang.Long">
            <column name="IDINFORMATIONSUTILISATEUR" />
            <generator class="native" />
        </id>
        <property name="idUtilisateur" type="java.lang.Long">
            <column name="IDUTILISATEUR" />
        </property>
        <property name="adresse" type="java.lang.String">
            <column name="ADRESSE" />
        </property>
        <property name="telephone" type="java.lang.String">
            <column name="TELEPHONE" />
        </property>
        <property name="email" type="java.lang.String">
            <column name="EMAIL" />
        </property>
        <property name="nom" type="java.lang.String">
            <column name="NOM" />
        </property>
        <property name="prenom" type="java.lang.String">
            <column name="PRENOM" />
        </property>
    </class>
</hibernate-mapping>
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
23
24
25
26
27
28
29
 
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 28 mars 2012 17:03:58 by Hibernate Tools 3.3.0.GA -->
<hibernate-mapping>
    <class name="com.model.bean.Utilisateur" table="UTILISATEUR">
        <id name="idUtilisateur" type="java.lang.Long">
            <column name="IDUTILISATEUR" />
            <generator class="native" />
        </id>
        <property name="idClub" type="java.lang.Long">
            <column name="IDCLUB" />
        </property>
        <property name="isActif" type="boolean" access="field">
            <column name="ISACTIF" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" />
        </property>
        <property name="username" type="java.lang.String">
            <column name="USERNAME" />
        </property>
        <property name="isResponsable" type="boolean" access="field">
            <column name="ISRESPONSABLE" />
        </property>
    	<many-to-one name="informationsUtilisateur" column="IDUTILISATEUR" cascade="all"  unique="true" />
    </class>
</hibernate-mapping>
Dans ma compréhension l'objet Utilisateur sera persité et l'insertion dans les deux tables sera fait automatiquement avec l'ajout automatique de l'idUtilisateur dans la table InformationUtilisateur...

J'ai aussi essayé avec une relation one-to-one, mais sans succés je ne comprends pas la relation, et je ne comprends pas pourquoi ça ne fonctionne pas...
Je suis novice sur Hibernate et dans la gestion de base de données.
J'ai regardé des tutos etc... sans succès.

Si quelqu'un peut me venir en aide...

Merci a tous.