类似HQL的运算符,用于不区分大小写的搜索


问题内容

我正在使用Jquery实现自动完成功能,当我键入名称时,它将从db中获取记录,存储在db中的记录是大写字母和小写字母的混合。我编写了一个HQL查询,该查询以区分大小写的方式获取记录,但无论大小写,我都需要记录。这是查询

List<OrganizationTB> resultList = null;
Query query = session.createQuery("from DataOrganization dataOrg where dataOrg.poolName   
like '%"+ poolName +"%'");
resultList =  query.list();

例如:如果我有池名称,HRMS数据集,Hrms数据,Hr数据等…如果键入HR或hr,则需要获取所有3条记录,而我无法。

请帮忙…


问题答案:

将您的查询更改为

"from DataOrganization dataOrg where lower(dataOrg.poolName)   
like lower('%"+ poolName +"%')"

有关更多信息,请参阅14.3
doc