jpa不会在MySQL8上查询精确的字符串

3pmvbmvn  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(194)

我使用jpa2.2和hibernate5.4来处理底层mysql 8数据库。

final CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
final CriteriaQuery<Person> criteriaQuery = criteriaBuilder.createQuery(Person.class);
final Root<Person> root = getCriteriaBuilder.from(Person.class);
criteriaBuilder.equal(root.get("name"), "Doe");
// request resultset here

给定的代码应该查询一个人的名字,确切地说是“doe”,但是它也会找到“doe”和“doe”,换句话说,查询是不区分大小写的。我也试过了

criteriaBuilder.like(root.get("name"), "Doe");

但这也不行。我的假设是,sql应该使用=-运算符,但我只能在where子句中找到“like”。
是有错误还是其他东西不起作用?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题