正如您可能已经看到的那样,Hibernate团队在定义如何执行此方法方面并没有做很多工作。
16.1.6。处理继承
查询作为继承的一部分映射的实体的本机SQL查询必须包括基类及其所有子类的所有属性。
因此,如果您要使用本机查询,则看起来您像在做这样的事情。关于对子类B的更改的关注,实现此目的的一种较不繁琐的方法是尝试对共享ID属性使用LEFT OUTER
JOIN语法:
entityManager.createNativeQuery("select a.*, b*, 1 as clazz_, from A a LEFT OUTER JOIN B b on id = a.id where procedure(f)",A.class).getResultList()这样,如果您添加或删除某些属性,您将始终从B获得所有属性。



