grails:使用执行查询计算字符串大小

时间:2014-02-22 23:05:29

标签: grails groovy hql executequery

我只是想知道可以在Grails中的单个执行查询中转换这行代码。

String answer = StudentAnswerData.findWhere(student: studentObject, exam: examObject)?.answer

answer.replaceAll('0','')?.size()

特定 StudentAnswerData 的代码查询会计算其答案的字符 0 ,其中 answer 是由数字组成的字符串字符(例如 2435000025442032030000 )。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用派生属性

执行此操作

http://grails.org/doc/2.3.x/guide/GORM.html#derivedProperties

class StudentAnswerData {
    Integer answerLength
    String answer

    static mapping = {
        answerLength formula: "length(replace(answer, '0', ''))"  //oracle specific syntax
    }
}

然后你可以使用answerLength作为常规属性