gpt4 book ai didi

grails - 在id字段上进行Grails搜索会引发错误

转载 作者:行者123 更新时间:2023-12-02 14:19:31 26 4
gpt4 key购买 nike

我有一个搜索页面,用户可以在其中基于作者的ID(GORM生成的ID,而不是我的域类的属性)或作者的姓名来搜索作者。
当我搜索作者的姓名时,搜索页面工作正常,但是当尝试搜索其ID时,出现以下错误。

信息:

java.lang.String cannot be cast to java.lang.Long

请让我知道如何解决此问题。

这是我在 Controller 中的搜索方法:
def search(Integer max) {
params.max = Math.min(max ?: 10, 100)

def authorList = Author.createCriteria().listDistinct () {
if ( params.id ) {
eq("id", "%${params.id}%")
}
if ( params.name ) {
ilike("name", "%${params.name}%")
}


respond authorList, model:[authorInstanceCount: Author.count()]
}

最佳答案

替换为:

eq("id", "%${params.id}%")


eq("id", params.long('id'))
params.long('id')尝试将参数安全地转换为 Long,即,如果无法执行转换而不是抛出异常,它将返回 null

关于grails - 在id字段上进行Grails搜索会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25650627/

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