Red Hat Training

A Red Hat training course is available for Red Hat JBoss Web Server

15.13. 副問い合わせ

サブセレクトをサポートするデータベースのため、 Hibernate は副問い合わせをサポートしています。副問い合わせは括弧で囲まなければなりません( SQL の集約関数呼び出しによる事が多いです)。関連副問い合わせ (外部クエリ中の別名を参照する副問い合わせのこと) さえ許可されます。
from Cat as fatcat
where fatcat.weight > (
    select avg(cat.weight) from DomesticCat cat
)
from DomesticCat as cat
where cat.name = some (
    select name.nickName from Name as name
)
from Cat as cat
where not exists (
    from Cat as mate where mate.mate = cat
)
from DomesticCat as cat
where cat.name not in (
    select name.nickName from Name as name
)
select cat.id, (select max(kit.weight) from cat.kitten kit)
from Cat as cat
HQL 副問い合わせは、select または where 節だけで使用可能な点に注意してください。
サブクエリは row value constructor 構文も使用できる点に注意してください。詳細については 「行値コンストラクタ構文」を参照してください。