【发布时间】:2014-02-03 17:10:40
【问题描述】:
假设
@Entity
Class Animals { }
@Entity
@Inheritance( stragegy = InheritanceType.JOINED)
class Dogs extends Animals {
private String furType;
}
@Entity
@Inheritance( stragegy = InheritanceType.JOINED)
class Cat extends Animals {
private String furType;
}
我的数据库中的所有实体都是真实的类,我无法重新设计我们的数据库。
如何使用 DetactedCriteria 创建一个析取查询,告诉我所有“动物”,其中 furType= 'loud' 表示狗或 furType= 'soft' 表示猫? 抱歉,我没有设计类层次结构,所以我不对属性名称相同的事实负责,我无法重新设计它,因为还有其他子类的表不包含“furType”。
【问题讨论】:
-
在 JPA 2.0 中,您有 TYPE(...) 构造,可用于仅选择继承树的特定子类。
-
谢谢。你能扩展一下吗?我应该如何添加析取条件,以便我可以在每个条件中指定 TYPE(...)?