您会发现,Hibernate使用一系列
LEFTJOIN语句(每个子类一个)来编写未知动物类型的查询。因此,查询将随着子类数量的增加而变慢,并将尝试返回越来越大的结果集。所以您是正确的,它在大型类层次结构中无法很好地扩展。
使用HQL,可以,您可以直接查询子类并访问其属性。然后将使用单个渲染
INNER JOIN。
我没有尝试使用多个继承级别。如果上述方法尚未解决问题,建议您尝试一下然后看看-
您可以打开SQL调试输出以查看发送到数据库的内容,或者只是对数据库进行概要分析。

您会发现,Hibernate使用一系列
LEFTJOIN语句(每个子类一个)来编写未知动物类型的查询。因此,查询将随着子类数量的增加而变慢,并将尝试返回越来越大的结果集。所以您是正确的,它在大型类层次结构中无法很好地扩展。
使用HQL,可以,您可以直接查询子类并访问其属性。然后将使用单个渲染
INNER JOIN。
我没有尝试使用多个继承级别。如果上述方法尚未解决问题,建议您尝试一下然后看看-
您可以打开SQL调试输出以查看发送到数据库的内容,或者只是对数据库进行概要分析。