2010-03-04 5 views
0

J'ai deux objets: "Mère" et "Enfant". Mère a beaucoup d'enfants, Comment puis-je obtenir de la DB une mère avec seulement 2 enfants (ou moins), les plus jeunes et les plus âgés. MerciHQL Min Max, comment

modifier:

La mère je veux avoir beaucoup d'enfants, mais je veux que les jeunes et les plus âgés.

Quelque chose comme ça:

de mère m à gauche rejoindre m.Child c où (max (c.age) ou min (c.age))

Répondre

1

Je trouve cela et travaux:

from M as m  
left join m.C as c 
where m.Id = :idM 
and 
(c.Age = (select min(c.Age) from C c where c.M.Id = :idM) 
or 
c.Age = (select max(c.Age) from C c where c.M.Id = :idM)) 
order by c.Age 
1
FROM Mother m WHERE count(m.Children) <= 2