繁体   English   中英

多个级别的实体继承中的休眠条件查询

[英]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));

这将只返回LivingCreaturesdtypeAnimals ,而不会返回Dog S或Cat秒。 如果您希望所有Animals包括子类型)都可以使用createCriteria(Animals.class )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM