我使用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”。
是有错误还是其他东西不起作用?
暂无答案!
目前还没有任何答案,快来回答吧!