如何解决如何在存储在地图中的非字符串列上使用 grails createCriteria() 来满足多种条件
我在 Grails 中创建了一个 API,用于从表单传递参数。
def condition(def params,def request)
{
def map = request.parameterMap
def result = Student.createCriteria().list{
and {
for(def key: map.keySet())
{
eq(key,map.get(key))
}
}
}
return result
}
在这里,我使用 request.parameterMap
获取在请求中传递的所有参数。
然后我遍历参数的每个键。
现在有趣的是,我的参数键与数据库中的列相同。
并且用户可以在请求正文中传递可变数量的参数(这就是我使用循环和“AND”条件的原因)。
问题是:有些列是字符串,有些是整数。
如果我对所有这些都使用 eq( )
,则它无法将字符串值(从 map.get(key)
)转换为整数或浮点数。
它给了我一个错误:java.lang.String cannot be cast to java.lang.Integer
如何使用标准解决这个问题?
在此先感谢您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。