我正在努力使用CriteriaBuilder进行不区分大小写的查询,如
hibernate jpa criteriabuilder ignore case queries所述以及网络上的许多其他问题和教程.
我的代码是:
public Predicate toPredicate(Root<User> root,CriteriaQuery<?> query,CriteriaBuilder builder) { return builder.equal(builder.upper(root.get("firstName")),"test".toUpperCase()); }
但我得到一个编译时错误:
The method upper(Expression<String>) in the type CriteriaBuilder is not applicable for the arguments (Path<Object>)
我正在使用的hibernate jpa的版本是:
<groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0.Final</version>
它取决于我使用的休眠版本吗?如何放置表达式< String>而不是路径< Object>?
谢谢您的帮助