我见过Restrictions.ilike(’property’,’%value%’),但想生成类似SQL:lower(property)=’value’。有任何想法吗?
我用了:
Restrictions.eq("email", email).ignoreCase()
因为不推荐使用Expression。SimpleExpression将在值上调用toLowerCase(),因此没有必要事先进行此操作。
请参阅: SimpleExpression源
请小心使用ilike,因为它会允许某人输入“ test%”之类的内容并进行匹配。我使用以下代码在一个应用程序中执行不区分大小写的相等操作:
... Criteria crit=session.createCriteria(Event.class); crit.add(Expression.eq("rsvpCode","test1").ignoreCase()); ...