冬眠低下无法正常工作 [英] hibernate lower not working

查看:45
本文介绍了冬眠低下无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 hibernate 中进行不区分大小写的搜索,因此我在数据库字段和Java String.toLowerCase上使用了 lower()函数()放在参数上,如下所示:

I'm trying to do a case-insensitive search in hibernate so am using the lower() function on the database field and java String.toLowerCase() on the parameter as so:

String query = "from LdapData where lower(ntid) = ? ";
Query stmt = session.createQuery(query);
stmt.setString(0, ntid.toLowerCase());
result = (List<LdapData>)stmt.list();

当SQL Developer中的查询显示有一个大写字母时,

result返回一个空列表.好像它没有被转换成更低的.

result is returning an empty list when a query in SQL Developer shows there is one there, but in upper case. Seems like its not being converted to lower.

有人可以看到这有什么问题吗?

Can anyone see anything wrong with this?

推荐答案

尝试将 Locale 设置为 lowercase()方法,例如:

Try to set Locale to lowercase() method like :

stmt.setString(0, ntid.toLowerCase(new Locale("tr-TR")));

(用您的区域设置ID

(replace tr-TR with your locale id http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html)

这篇关于冬眠低下无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆