java – jpa criteriabuilder upper给出了编译错误
发布时间:2020-12-14 23:36:10 所属栏目:Java 来源:网络整理
导读:我正在努力使用CriteriaBuilder进行不区分大小写的查询,如 hibernate jpa criteriabuilder ignore case queries所述以及网络上的许多其他问题和教程. 我的代码是: public Predicate toPredicate(RootUser root,CriteriaQuery? query,CriteriaBuilder builde
我正在努力使用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()); } 但我得到一个编译时错误:
我正在使用的hibernate jpa的版本是: <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.1-api</artifactId> <version>1.0.0.Final</version> 它取决于我使用的休眠版本吗?如何放置表达式< String>而不是路径< Object>? 谢谢您的帮助 解决方法
正如编译器所说我们期望在这种情况下表达式Path从Expression扩展但是你有一个路径来解决这个问题,原因如下.
return builder.equal(builder.upper(root.<String> get("firstName")),"test".toUpperCase()); Trick是添加< String>在获取方法之前,希望有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |