Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
12.4.5. La clause WITH
HQL définit une clause
WITH
pour qualifier les conditions de jointure. Cela est spécifique à HQL. JPQL ne définit pas cette fonctionnalité.
Exemple 12.4. Exemple de jointure de with-clause
select distinct c from Customer c left join c.orders o with o.value > 5000.00
La grande différence est que, dans le SQL généré, les conditions de
with clause
font partie de on clause
dans le SQL généré contrairement aux autres requêtes dans cette section où les conditions HQL/JPQL font partie de la where clause
dans le SQL généré. La différence dans cet exemple en particulier n'est sûrement pas très importante. La with clause
est quelques fois nécessaire pour des requêtes plus compliquées.
Les jointures explicites peuvent faire référence à des attributs d'association ou de composant/intégrés. Dans le cas d'attributs de composant/intégrés, la jointure est tout simplement logique et n'est pas en corrélation avec une jointure (SQL) physique.