Grails在超类上创建了具有子类条件的条件

时间:2014-09-18 08:52:39

标签: grails gorm createcriteria

我一直在努力。但不知道这是否可能。我需要通过在超类上编写crieria查询来列出记录,条件是子类。

Say,Cats,Dogs扩展了Animal类。我需要列出所有动物,但是有黑点的狗和白色的猫。关键问题是,狗的属性 cat域类中

但我必须在Animal类上编写createCriteria,以便我可以对所有动物进行分页,或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

鉴于您使用tablePerHierarchy = true,您应该能够编写native SQL查询,以便通过where-clauses指向部分无效的列来从表中选择记录:

Anumal.withCriteria{
  or{
    sqlRestriction "dots is not null and dots != 'black'" // dogs
    sqlRestriction "color = 'white'" // cats
  }
}