我是新來的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