Java JPA/toplink异构实体列表

Java JPA/toplink异构实体列表,java,orm,jpa,polymorphism,toplink,Java,Orm,Jpa,Polymorphism,Toplink,各位同事:, 使用JPA,我需要解决以下问题:在数据库级别存在3个实体(表示SuperEntity、DetailsAgentity和DetailsByEntity)。SuperEntity包含DetailsAgentity和DetailsAgentity字段的公共部分 所以问题是:是否有可能从JPA中解决混合元素detailsAgentity和detailsEntity的集合?可能存在toplink中的某个扩展来指定实体的类?假设SuperEntity映射为继承树的根,则该类型的查询结果可以返回

各位同事:, 使用JPA,我需要解决以下问题:在数据库级别存在3个实体(表示SuperEntity、DetailsAgentity和DetailsByEntity)。SuperEntity包含DetailsAgentity和DetailsAgentity字段的公共部分


所以问题是:是否有可能从JPA中解决混合元素detailsAgentity和detailsEntity的集合?可能存在toplink中的某个扩展来指定实体的类?

假设SuperEntity映射为继承树的根,则该类型的查询结果可以返回其具体子类的异构集合。

查询在标准JPA中是多态的。以下是JPA 1.0规范的相关章节:

3.6.5多态查询 默认情况下,所有查询都是 多态的。即FROM子句 查询的类型不仅指定 特定实体的实例 它显式连接到的类 引用,但也引用子类。这个 查询返回的实例包括 子类的实例 满足查询条件

例如,查询

select avg(e.salary) from Employee e where e.salary > 80000
返回所有员工的平均工资 员工,包括
员工
,如
经理
豁免

4.4.8多态性 Java持久性查询是 自动多态。来自 查询的子句不仅指定 特定实体的实例 显式引用的类 但是子类也是如此。这个 查询返回的实例包括 子类的实例 满足查询条件


因此,默认情况下,对超类型的任何查询都会在结果中包含子类型。

这很清楚,但并不是我问题的答案。我没有问这是否可能,我只是问怎么做。Copypaste of spec“查询返回的实例包括满足查询条件的子类的实例”——没有告诉我如何执行。avg-retursn编号,但我需要两种类型的对象collection@Dewfy如果您觉得它没有帮助,我很抱歉,但我认为它确实回答了问题(只需查询一个类型),规范甚至提供了一个示例(返回所有员工的平均工资,包括员工的子类型,如经理和豁免)。这也澄清了这是标准JPA,这是我的主要目标。如果你觉得它没有帮助,也许其他读者会。