hibernate 查询 - grails

标签 hibernate grails executequery

我是 grails 新手,对 hibernate 不太熟悉。我遇到了一个关于在 grails 中使用 executeQuery 进行 hibernate 查询的问题。我刚刚使此代码与有问题的原始代码类似:

def nonMemberList = Group.executeQuery("select gp.name from Group gp where gp.status = 'CONFIRMED_MEMBER'")
def FemaleMemberList = Group.executeQuery(""" select sum(case when g.isMale = false and g.name not in(:isNotConfirmedMember) from Group g where :startDate <= g.dateCreated and g.dateCreated < :endDate""",
[isNotConfirmedMember: nonMemberList, startDate: startDate, endDate: endDate])

每当 nonMemberList 为 null 时就会发生错误,并且我发现当我使用 is not 语法时列表不应为 null。

我对 hibernate 查询不太熟悉,这就是为什么我遇到一个问题:我应该使用哪些其他 hibernate 查询,其行为也类似于原始代码。 感谢您分享您的知识。

最佳答案

您尝试过使用 Criteria 吗?位于此处:http://grails.org/doc/latest/guide/GORM.html#criteria

请先对 nonMemberList 尝试以下代码,看看它是否产生 null:

//non member list code
def cNonMember = Group.createCriteria()
def nonMemberList = cNonMember.list() {
    eq("name", "CONFIRMED_MEMBER")
}

希望有帮助。

关于 hibernate 查询 - grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220640/

相关文章:

java - Hibernate 外键标准过滤器

mysql - 使用 MySQL 进行 SQL 查询

oracle - 每次 EXECUTE IMMEDIATE 后都需要 COMMIT 吗?

c# - 如何处理从 DataContext.ExecuteQuery 返回的未知类型的对象

java - SQL 连接问题

java - 违反完整性约束

grails - 如何使用 hashmap 将 grails 中的消息国际化( key :value)

grails - 只在grails中做一个测试文件

grails - 在 Grails GSP 中,Spring MVC 的 &lt;input name ="entity.list[0].field"> 等价于什么?