grails - 在 Controller 的条件内调用 namedQuery

标签 grails criteria named-query

可以在 Controller 内的 grails 上调用 namedQuery 吗?我知道我可以在另一个 namedQuery 中调用一个 namedQuery,但我不想这样做。有任何想法吗?谢谢

用户 .groovy

static namedQueries = {
      filterUsers{
            eq("age", 21)
      }
}

我的 Controller .groovy
def r = User.createCriteria().list {
     eq("id", 1)
     filterUsers() //not possible
}

或者..

我的 Controller .groovy
    //not possible too
    //Cannot invoke method createCriteria() on null object

    def r = User.filterUsers().createCriteria().list {
         eq("id", 1)           
    }

最佳答案

下面是一个例子:

域:

class User {

    int age
    String userName

    static namedQueries = {
        filterUsers {
            eq("age", 21)
        }
    }

    static constraints = {
    }
}

Controller :
class TestController {

    def index = {

        def users = User.filterUsers {
            and {
                like 'userName', 'Derek%'
            }
        }

        render users as JSON
    }
}

此外,您可以在此处找到更多相关信息:Reference Documentation

关于grails - 在 Controller 的条件内调用 namedQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5696557/

相关文章:

grails - 使用插件描述符的 Spring Closure 获取应用程序配置

mysql - 按所需顺序对每个组的子行进行排序,并在 JPA 中获取每个组中所需的顶部行数

javascript - 防止更改 HTML 只读文本字段

ajax - 如何在 View 页面上显示服务器端验证错误

grails - DataSource.groovy错误

java - 如何在不知道 id 的情况下更新 Hibernate Criteria 中的对象

java - 使用 hibernate 标准,有没有办法转义特殊字符?

jpa - 在嵌套字段上使用WHERE进行JPQL查询

grails - Grails按另一个域的属性过滤域类

hibernate - Grails在命名查询中使用继承的属性