Bonjour,

j'ai un mapping entre plusieurs tables comme suit(j'utilise jpa/annotations):

EMPLOYE (many,lazy)<-> (many,lazy) ADRESSES
ADRESSES(many,eager)<->(one,eager)PAYS
ADRESSES(many,eager)<->(one,eager)LOCALITE

lorsque j'effectue une requete sur employe avec une jointure sur ses adresses
hibernate cree bien la requete de recuperation des employes + adresses en un seul coup PUIS charge les dependances eager de adresses en requetes secondaires(N+1)
ce qui ralentit fortement les choses.
adresses est un liste.
voici la requete que j'effectue:

Query query = em.createQuery("select emp from EmployeeImpl as emp left join fetch emp.addresses");

ne serait il pas possible de demander a hibernate d'effectuer la requete en 1 coup pour adresses et TOUTES les dependances d'adresses?


par contre, lorsque je fais un find d'adresse(sans hql/ejbQL), il charge toutes ses dependances eager d'un coup!(reaction normale mais a partir d'un find, pas hql)

pouvez vous m'aider s'il vous plait?

merci,
Michael.