如何使hibernate查询区分大小写?

时间:2017-08-09 16:10:10

标签: string hibernate where-clause case-sensitive

我有以下hibernate查询

@NamedQuery(name = "findByName", query = "SELECT e FROM t=Table e WHERE  e.name =:name")

以下是我如何设置参数

uniqueResult(namedQuery("findByName").setString("name",name));

这会将“名称”与“名称”区分开来吗?我认为setParameter()区分大小写,我应该将setString()更改为setParameter()吗?

1 个答案:

答案 0 :(得分:0)

这在很大程度上取决于您的数据库和使用的排序规则。某些数据库的排序规则CI不区分大小写,CS区分大小写。例如,在MySQL latin1_general_cilatin1_general_cs

Hibernate并不知道这个事实,只是执行一个标准的WHERE子句,产生数据库配置的行为。

https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html

https://msdn.microsoft.com/de-de/library/ms144250(v=sql.105).aspx