java – jpa criteriabuilder upper给出了编译错误
发布时间:2020-05-28 20:43:44 所属栏目:Java 来源:互联网
导读:我正在努力使用CriteriaBuilder进行不区分大小写的查询,如 hibernate jpa criteriabuilder ignore case queries所述以及网络上的许多其他问题和教程. 我的代码是: public Predicate toPredicate(RootUser root, CriteriaQuery? query, CriteriaBuilder bui
|
我正在努力使用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>在获取方法之前,希望有所帮助. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
