4

我对命名查询的继承可能性有疑问。我们想像这样在我们的抽象域类中存储一些命名查询。

abstract class AbstractDomain {
    boolean state

    static namedQueries = {
        isActive{
            eq("state", true)
        }
    }
} 

class Person extends AbstractDomain {
    String name
    Integer age

    static namedQueries = {
        age18 {
            eq("age", 18)
        }
    }
}

当我们尝试在抽象域中调用命名查询时,由于闭包被覆盖,它失败了。

Person.isActive.age18 由于 isActive 不存在而失败。

我们可以在抽象域类中重用命名查询吗?

4

1 回答 1

5

试试这个

class Person extends AbstractDomain {
    String name
    Integer age

    static namedQueries = {
        age18 {
            eq("age", 18)
            }
        } << AbstractDomain.namedQueries
    }
于 2012-10-16T09:27:29.660 回答