如果您以single_table方式具有多个级别的继承,例如类
class LivingCreatures {},
class Animals extends LivingCreatures {},
class Dog extends Animals {},
class Cat extends Animals {}
我注意到数据库层中只有一个鉴别器列。
有没有办法向所有动物询问LivingCreatures?
session().createCriteria(LivingCreatures.class).add(
Restrictions.eq("class", Animals.class)
)
答案 0 :(得分:1)
我认为这应该有用
session.createCriteria(LivingCreatures.class, "creatures").add(Restrictions.eq("creatures.class", Animals.class));
这只会返回LivingCreatures
为dtype
的{{1}},并且不会返回Animals
或Dog
。如果您希望所有Cat
包括子类型,Animals
)都可以使用。