groovy中BigDecimal值的问题:检索diff值

时间:2015-01-06 15:12:49

标签: mysql hibernate grails groovy gorm

我正在使用Groovy / Grails框架,我使用

从mysql DB获取Bigdecimal值
Query = "select d.quantitativeData FROM MyTable d where d.segment.id = " + segmentid + 
" and d.sustainabilityIndicatorSubQuestion.id = "+questionid+" and d.tenantId= " +
TenantUtils.getCurrentTenant()+" order by d.id desc",[max:1]"

quantitativeData是一个Bidgecimal变量。

但是从这个查询中检索的值就像“0E-20”格式,但数据库中的值如'121.00000000000',如何解决这个问题,任何人都可以帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:2)

BigDecimal正在转换为字符串"0E-20",因为您通过将字符串连接在一起而不是使用?查询占位符来构建查询。

如果使用占位符而不是字符串连接,它将解决此问题并使您免受SQL注入攻击。