我有一个AbstractPerson,它有两个子类:LegalPerson和PhysicalPerson。
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class AbstractPerson {
private Long id;
...
}
@Entity
public class LegalPerson extends AbstractPerson {
private String name;
...
}
@Entity
public class PhysicalPerson extends AbstractPerson {
private String lastName;
private String firstName;
...
}
当我检索所有实体(基于 AbstractPerson 的 CriteriaQuery)时,我会按 LegalPerson.name ASC、PhysicalPerson.lastName ASC、PhysicalPerson.firstName ASC对它们进行排序。
我需要生成一个按这些标准排序和分组的抽象实体列表。原始 SQL 查询让出现所有子类字段(SINGLE_TABLE 策略),但我不知道如何利用它们。
有没有使用 Criteria API 对子类属性的查询结果进行排序的解决方案?
谢谢,最好的问候,赛斯。