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

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)
        }
    }
}

当我们尝试在Abstract域中调用namedquery时,由于闭包块被覆盖的事实而失败。

由于不存在isActive,因此Person.isActive.age18失败。

我们可以在Abstract Domain类中重用命名查询吗?

最佳答案

试试这个

class Person extends AbstractDomain {
    String name
    Integer age

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

09-25 17:04