我正在尝试使用JPA EntityManager find()方法。我的主键是一个与用户名相对应的字符串。
我正在使用JPA / Hibernate / MYSQL。
我的问题是搜索用户'David'匹配用户'david',我认为,由于底层MYSQL中不区分大小写的字符串匹配。这引起了我一大堆问题!!
有人有一个优雅的解决方案吗?我可以执行本机SQL调用并使用BINARY运算符,如下所示: http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html
有人有更好的解决方案吗? TA
答案 0 :(得分:3)
您可以更改列类型,使其不区分大小写吗? MySQL guide有关于如何操作的信息。
这或多或少是您在BINARY运算符中找到的,但它适用于列类型而不是运行 SELECT
时答案 1 :(得分:3)
Had a similar Problem。您必须将表或整个数据库的排序规则设置为区分大小写的排序规则。
请参阅: Reference Manual 12.1.10 CREATE DATABASE SYNTAX和 9.1.3.2. Database Character Set and Collation