grails - CountBy WithCriteria不匹配

标签 grails gorm

使用countBy(或动态查找器)不会给出结果,但是withCriteria可以给出结果。

这是类(class):

class Message {

    EntityType entityType
    String code

}

然后:
assert 1 == Message.countByCodeAndEntityType("category.name.${result.id}", EntityType.APPLICATION_TEXT)

返回0(错误的断言),但是...
assert 1 == Message.createCriteria().list(){
            eq ("code", "category.name.${result.id}")
            eq ("entityType",EntityType.APPLICATION_TEXT)
            projections{
                count()
            }
        }[0]

给出正确的结果,返回1

是什么原因?

最佳答案

您是否检查过$ {result.id}在两个变体中是否正确解析?

SQL看起来如何?

对于计数,我更喜欢这样:

Message.createCriteria().count(){
    eq ("code", "category.name.${result.id}")
    eq ("entityType",EntityType.APPLICATION_TEXT)
}

关于grails - CountBy WithCriteria不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130600/

相关文章:

grails - 查找第一个匹配项-DomainClass.findAll()[0]的替代方法

grails - Grails 2.5.0-Maven依赖中的访问类

grails - Grails GSP在Geronimo下不会生成预期的HTML

sql-server - Grails域更新与数据库触发器更新

grails - 状态为“暂时移动”且无 body

hibernate - Grails的hasOne和hasMany具有相同的域和级联操作

unit-testing - 单元测试失败

grails - 查找列表中所有具有值的对象

grails - Grails Controller 在表中插入两行,而我仅调用一次

multithreading - GPar,GORM,批处理上传