A query like:
from Cat as cat
returns instances not only of Cat, but also of subclasses like
DomesticCat. Hibernate queries may name any Java
class or interface in the from clause. The query will return instances
of all persistent classes that extend that class or implement the interface. The following
query would return all persistent objects:
from java.lang.Object o
The interface Named might be implemented by various persistent
classes:
from Named n, Named m where n.name = m.name
Note that these last two queries will require more than one SQL SELECT. This
means that the order by clause does not correctly order the whole result set.
(It also means you can't call these queries using Query.scroll().)