查询在使用位置参数时不返回结果

时间:2012-06-11 19:49:32

标签: grails hql

我有以下查询:

def currentUser = User.find('from User where enabled = (:a) 
AND ( emailAddress = (:e) OR altEmailAddress like (:e) )', 
[a: _enabled, e: _email.toLowerCase()])

我知道表中有数据应该返回,它似乎没有返回任何结果。我做爱的方式有什么不对吗?

2 个答案:

答案 0 :(得分:1)

尝试在值之前和之后使用'%'。在你的情况下:

def currentUser = User.find('from User where enabled = (:a) AND ( emailAddress = (:e) OR        altEmailAddress like (:e) )', [a: _enabled, e: '%' + _email.toLowerCase() + '%'])

答案 1 :(得分:0)

对于您喜欢的部分,您希望在电子邮件地址的某处添加'%'(或类似的运算符),例如"foo%@bar.com"。如果没有这些操作符之一,sql将寻找完全匹配。