我是新来的grails,我对休眠并不熟悉。我在grails中遇到了一个关于使用executeQuery进行hibernate查询的问题。我只是做了类似真实有问题的原代码验证码:每当nonMemberList为null,并且我发现,当我使用是这份名单不应为空时休眠查询 - grails
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])
错误不是语法。
我对hibernate查询并不熟悉,这就是为什么我有一个问题,我应该使用哪些其他hibernate查询,它的行为也像原始代码一样。 感谢您分享您的知识。
nonMemberList不可能为null,但它可能为空。第二个查询对于空列表无效,我相信你不能对空集合执行'in'操作 – tojofo