gpt4 book ai didi

grails - 尝试获取ID类型不匹配

转载 作者:行者123 更新时间:2023-12-02 14:33:49 24 4
gpt4 key购买 nike

今天早上刚刚测试我的代码,发现我似乎无法解决的问题。
我的SKU类具有一个自定义ID生成器(已声明)以采用字符串:

static mapping = {
id generator: 'assigned', name: 'sku'
}
我创建了一个SKU对象,其ID为:“ 1234445 ”(通常,我的SKU ID是破折号和数字的组合,但出于测试目的,我使用数字作为字符串)
现在,每当我尝试执行SKU.get(“ 1234445 ”)时,都会出现以下错误:

Provided id of the wrong type

Expected: class java.lang.String, got class java.lang.Long


显然,我提供了一个String,执行.get时,它会以某种方式将其视为Long,因此会导致错误。
除了不使用看起来像SKU.id的数字(在我的情况下为Sku.sku)之外的字符串之外,有关如何解决此问题的任何想法?

最佳答案

如果要使用String id,请使用String sku而不是SKU.get("123445")

class SKU {
String id
static mapping = {
id generator: 'assigned'
}
}

def newSku = new SKU()
newSku.id = '123445'
newSku.save(flush: true)

println SKU.get("123445")

如果您需要专门使用 sku作为标识符,请使用
SKU.findBySku("123445")

与您现在拥有的映射(如问题中所述)。

关于grails - 尝试获取ID类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19069384/

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