[英]Hibernate criteria query in multiple levels of entity inheritance
如果您以single_table方式具有多个继承级别,例如class
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)
)
我认为这应该工作
session.createCriteria(LivingCreatures.class, "creatures").add(Restrictions.eq("creatures.class", Animals.class));
这将只返回LivingCreatures
其dtype
是Animals
,而不会返回Dog
S或Cat
秒。 如果您希望所有Animals
包括子类型)都可以使用createCriteria(Animals.class
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.