【发布时间】:2017-02-16 22:42:43
【问题描述】:
我正在尝试在 hibernate 中进行不区分大小写的搜索,所以我在数据库字段上使用 lower() 函数,在参数上使用 java String.toLowerCase(),如下所示:
String query = "from LdapData where lower(ntid) = ? ";
Query stmt = session.createQuery(query);
stmt.setString(0, ntid.toLowerCase());
result = (List<LdapData>)stmt.list();
当 SQL Developer 中的查询显示有一个空列表时,结果返回一个空列表,但为大写。似乎它没有被转换为较低的。
谁能看出这有什么问题?
【问题讨论】:
-
这是一个字符串 ntid
-
在数据库中它是 NTID NOT NULL VARCHAR2(50)
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例。