【发布时间】:2013-07-17 10:25:48
【问题描述】:
我有一个 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 对子类属性的查询结果进行排序的解决方案?
谢谢, 此致, 赛斯。
【问题讨论】:
标签: jakarta-ee jpa criteria-api subclass