我有以下hibernate查询
@NamedQuery(name = "findByName", query = "SELECT e FROM t=Table e WHERE e.name =:name")
以下是我如何设置参数
uniqueResult(namedQuery("findByName").setString("name",name));
这会将“名称”与“名称”区分开来吗?我认为setParameter()
区分大小写,我应该将setString()
更改为setParameter()
吗?
答案 0 :(得分:0)
这在很大程度上取决于您的数据库和使用的排序规则。某些数据库的排序规则CI
不区分大小写,CS
区分大小写。例如,在MySQL latin1_general_ci
和latin1_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