我有一个简单的对象层次结构,我想使用list()查询每个对象。问题是由于多态性,Task.list()返回Task和ComplexTask类型的实例。
class Task {
}
class ComplexTask extends Task {
}
我意识到我可以通过拥有一个共同的抽象超类来解决我的问题,或者根据返回的类型过滤结果,但是想知道是否有办法使用动态查找器并仅返回超类实例。
答案 0 :(得分:2)
使用默认的每层次表继承策略,您可以执行以下操作:
Task.findAll("from Task as t where t.class = 'Task'")
答案 1 :(得分:0)
我认为这与延迟加载有关,因为真实实例不仅完全加载,不仅用于关系,还用于继承。