一尘不染

不区分大小写等于使用休眠条件

java

我见过Restrictions.ilike(’property’,’%value%’),但想生成类似SQL:lower(property)=’value’。有任何想法吗?

我用了:

Restrictions.eq("email", email).ignoreCase()

因为不推荐使用Expression。SimpleExpression将在值上调用toLowerCase(),因此没有必要事先进行此操作。

请参阅: SimpleExpression源


阅读 161

收藏
2020-12-03

共1个答案

一尘不染

请小心使用ilike,因为它会允许某人输入“ test%”之类的内容并进行匹配。我使用以下代码在一个应用程序中执行不区分大小写的相等操作:

...
Criteria crit=session.createCriteria(Event.class);
crit.add(Expression.eq("rsvpCode","test1").ignoreCase());
...
2020-12-03