一尘不染

Hibernate条件中区分大小写的搜索

hibernate

我将Hibernate 3与SQL Server 2008一起使用。我想在Hibernate
Criteria中进行区分大小写的搜索。我无法实现。我的代码如下:

Criteria criteria = session.createCriteria(User.class); /*line 1*/
criteria.add(Restrictions.eq("userName", userName));    /*line 2*/

我有一个类 User.java ,其中包含一个String userName

数据库条目:

id | user_name
--------------
1  | abc
2  | xyz

现在,如果我"abc"userName第2行传递,则它应该从db返回第一条记录。但是,如果我通过"Abc""ABC""aBC"等如userName在第2行,没有记录将被取回。

我已经访问了此链接,但对我没有帮助,因为我不想将排序规则与hql或SQL
Server一起使用。我愿意使用排序规则,Criteria但不知道该怎么做。


阅读 354

收藏
2020-06-20

共1个答案

一尘不染

Criteria criteria = s.createCriteria(User.class);
criteria.add(
Expression.sql(“userName = ? collate Latin1_General_CS_AS_KS_WS”, userName, new StringType())
);

2020-06-20