GORM list()仅返回超类对象

时间:2009-12-15 21:31:22

标签: grails gorm

我有一个简单的对象层次结构,我想使用list()查询每个对象。问题是由于多态性,Task.list()返回Task和ComplexTask类型的实例。

class Task {
}

class ComplexTask extends Task {
}

我意识到我可以通过拥有一个共同的抽象超类来解决我的问题,或者根据返回的类型过滤结果,但是想知道是否有办法使用动态查找器并仅返回超类实例。

2 个答案:

答案 0 :(得分:2)

使用默认的每层次表继承策略,您可以执行以下操作:

Task.findAll("from Task as t where t.class = 'Task'")

答案 1 :(得分:0)

我认为这与延迟加载有关,因为真实实例不仅完全加载,不仅用于关系,还用于继承。