Hi,
What is the many-to-one association you are talking about ?
Here is my mapping file. When I load the an "Entreprise" object, Hibernate performs the request to get the "Employe" instances.
Ex:
Code:
Entreprise e = (Entreprise)session.load(Entreprise.class, new Long(1));
donne
Code:
Hibernate: select entrepri0_.entreprise_id as entreprise_id, entrepri0_.nom as nom from Entreprise entrepri0_ where entrepri0_.entreprise_id=?
Hibernate: select employe0_.emp_id as emp_id__, adresse1_.emp_id as emp_id0_, adresse1_.adresse as adresse0_, adresse1_.code_postal as code_pos3_0_, adresse1_.ville as ville0_, employe0_.emp_id as emp_id1_, employe0_.nom as nom1_, employe0_.prenom as prenom1_, employe0_.boss_emp_id as boss_emp4_1_, employe0_.entreprise_id as entrepri5_1_ from employe employe0_, Adresse adresse1_ where employe0_.entreprise_id=? and employe0_.emp_id=adresse1_.emp_id(+)
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="Periode" table="periode">
<id name="id" column="periode_id" type="long">
<generator class="sequence">
<param name="sequence">periode_id_seq</param>
</generator>
</id>
<property name="nom" column="periode" type="string"/>
</class>
<class name="Adresse" table="Adresse">
<id name="id" column="emp_id" type="long">
<generator class="native"/>
</id>
<property name="adresse" type="string"/>
<property name="codePostal" column="code_postal " type="string"/>
<property name="ville" type="string"/>
</class>
<class name="Employe" table="employe" proxy="Employe">
<id name="id" column="emp_id" type="long">
<generator class="sequence">
<param name="sequence">employe_id_seq</param>
</generator>
</id>
<property name="nom" type="string"/>
<property name="prenom" type="string"/>
<one-to-one name="adresse" class="Adresse" />
<many-to-one name="boss" class="Employe" column="boss_emp_id" />
<set name="salaires" lazy="true" cascade="all">
<key column="emp_id" />
<one-to-many class="Salaire" />
</set>
<many-to-one name="entreprise" class="Entreprise" column="entreprise_id" />
</class>
<class name="Salaire" table="Salaire">
<composite-id unsaved-value="any">
<key-many-to-one name="employe" column="emp_id" class="Employe"/>
<key-many-to-one name="periode" column="periode_id" class="Periode"/>
</composite-id>
<property name="salaire" type="long"/>
</class>
<class name="Entreprise" table="Entreprise">
<id name="id" column="entreprise_id" type="long">
<generator class="sequence">
<param name="sequence">entreprise_id_seq</param>
</generator>
</id>
<property name="nom" type="string"/>
<set name="employes" cascade="delete">
<key column="entreprise_id" />
<one-to-many class="Employe" />
</set>
</class>
</hibernate-mapping>