gpt4 book ai didi

grails - grails在createcriteria上的使用顺序

转载 作者:行者123 更新时间:2023-12-02 15:10:34 25 4
gpt4 key购买 nike

我尝试使用CreateCriteria来获取一些ID。由于ListDistinct不支持分页,
我在网上找到了解决此问题的解决方案。
http://ondrej-kvasnovsky.blogspot.fr/2012/01/grails-listdistinct-and-pagination.html

但是当我尝试按排序和顺序获取元素时,我遇到了一个异常(exception):

“在这种情况下,按表达式“THIS_.DATE”排序必须在结果列表中; SQL语句:...”

我的代码:

class MyClassA {

Date date
static hasMany = [userList:User]

}


class User {

String login

}



class ResponseService {

def load(offset, max ) {

def idList = MyClassA.createCriteria().list (max: max, offset: offset) {
projections { distinct ( "id" ) }
userList{
eq("login","toto")

}
order("date","desc")
}

if( idList ) {

// fetch all Responses based on selected IDs
def results = MyClassA.getAll( idList )
return results
}

}
}

最佳答案

可能是您的结果中没有日期列。
我还没有测试过,但是在看了这个问题之后:What is the sql query for this?(评论第一答案),我认为

property("date")

对您的预测有帮助。

----------------编辑----------------------------

这是您问题的完整ResponseService类。我还在您的投影子句中添加了 property("id")
class ResponseService {

def load(offset, max ) {

def idList = MyClassA.createCriteria().list (max: max, offset: offset) {
projections {
distinct ( "id" )
property("date")
property("id")
}
userList{
eq("login","toto")
}
order("date","desc")
}

if( idList ) {

// fetch all Responses based on selected IDs
def results = MyClassA.getAll( idList )
return results
}

}
}

关于grails - grails在createcriteria上的使用顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com