Red Hat Training

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

8.6. ポリモーフィッククエリ

以下のようなクエリは、
select cat from Cat as cat
Cat だけではなく DomesticCat などのサブクラスのインスタンスを返します。Hibernate クエリは from 句で任意の Java クラスまたはインターフェースを指定できます (移植可能な EJB-QL クエリはマップされたエンティティのみを指定すべきです)。クエリはこのクラスを拡張する、またはインターフェースを実装するすべての永続クラスのインスタンスを返します。以下のクエリはすべての永続オブジェクトを返します。
from java.lang.Object o // HQL only
インターフェース Named はさまざまな永続クラスによって実装できます。
from Named n, Named m where n.name = m.name // HQL only
これらの最後 2 つのクエリでは、複数の SQL SELECT が必要であることに注意してください。つまり、order by 句はクエリセット全体を適切に順序付けしません (したがって、Query.scroll() を使用してこれらのクエリを呼び出すことはできません)。