在我的 grails 项目中,我使用了方法Object.findAllByIdInList()
,将列表作为参数传递。使用的代码如下:
def allSelectedIds = ReceiptItem.findAllByIdInList(par)
其中 ReceiptItem 是一个域类,定义如下:
class Receipt {
double totalAmount;
Date releaseDate;
int vatPercentage;
int discount;
Boolean isPayed;
Boolean isInvoice;
static belongsTo = [patient:Patient]
static hasMany = [receiptItems:ReceiptItem]
static constraints = {
receiptItems(blank: false)
patient(blank: false)
totalAmount(blank: false)
vatPercentage(blank: false, nullable: false)
}
}
并且par
是定义如下的 id 列表:
def par = params.list("receiptItemsSelected")
receiptItemsSelected
在gsp页面中定义成remoteFunction()
如下:
params: '\'receiptItemsSelected=\' + jQuery(this).val()'
问题是上面的行抛出了以下异常:
java.lang.String cannot be cast to java.lang.Long. Stacktrace follows:
Message: java.lang.String cannot be cast to java.lang.Long
我不明白为什么它会抛出这个异常。
谢谢你的帮助