0

下一个代码有效:

self query1 = DomainClassExample.findAllByPropertyInList("hi","bye")

但是如果我添加Not则动态查找器不存在(它确实存在:检查答案):

self query2 = DomainClassExample.findAllByPropertyNotInList("hi","bye")

我想获取所有没有属性“hi”或“bye”的 DomainClassExample。有没有为此目的的动态查找器?我应该使用 Where 查询。如何?

4

2 回答 2

1

首先,小幅修正。这不是方法表达式。这是一个动态查找器。现在,对于您的实际问题,您需要为此使用标准 API ...

def c = DomainClassExample.createCriteria()
def matchingProperties = c.list {
    property {
        not { 'in'(["hi","bye"]) }
    }
}

您可能会遇到“ ”这个词的问题,property而我还没有真正测试过我刚刚编写的代码。但这就是它的要点。

于 2013-07-05T23:08:25.713 回答
0

在 Grails 1.3.9 中,给定以下域:

class User {
    String username
    ....
}

这在我们的应用程序中有效,没有任何问题:

def userList = User.findAllByUsernameNotInList(["user1@testdomain.com","user2@anotherdomain.com"])
于 2013-07-06T09:03:34.110 回答