一个如下的查询语句:
from Cat as cat
不仅返回
Cat
类的实例,也同时返回子类 DomesticCat
的实例。Hibernate 可以在 from
子句中指定任何 Java 类或接口。查询会返回继承了该类的所有持久化子类的实例或返回声明了该接口的所有持久化类的实例。下面的查询语句返回所有的被持久化的对象:
from java.lang.Object o
接口
Named
可能被各种各样的持久化类声明:
from Named n, Named m where n.name = m.name
注意,最后的两个查询将需要超过一个的 SQL
SELECT
。这表明 order by
子句没有对整个结果集进行正确的排序。(这也说明你不能对这样的查询使用 Query.scroll()
方法。)