首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为QueryDslPredicateExecutor编写谓词

如何为QueryDslPredicateExecutor编写谓词
EN

Stack Overflow用户
提问于 2016-11-16 21:29:12
回答 1查看 960关注 0票数 4

当我尝试使用Querydsl时,如Spring reference Spring 1.10.4.RELEASE reference中所示,我从集成开发环境中得到了一些错误:无法解析方法findAll(谓词)。我将导入更改为com.mysema.query.types.Predicate。现在,方法看起来很好。但我不能解决以下问题:

代码语言:javascript
复制
Predicate predicate = user.getUsername().equalsIgnoreCase(username).and((user.getId().equals(userid)).not);

我收到错误:无法解析方法:和,无法解析方法。

参考文献中的一些:示例32。存储库上的Querydsl集成

代码语言:javascript
复制
interface UserRepository extends CrudRepository<User, Long>, QueryDslPredicateExecutor<User> {

}

上面的代码允许使用Querydsl谓词编写类型安全的查询。

代码语言:javascript
复制
Predicate predicate = user.firstname.equalsIgnoreCase("dave")
.and(user.lastname.startsWithIgnoreCase("mathews"));

userRepository.findAll(predicate);

但是示例是不正确的。有人知道怎么用这个吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 13:50:04

您可能一开始就使用了错误的user对象。我假设您当前正在使用域类Querydsl,但您需要使用由User生成的类,通常名为QUser

有关示例代码,请参阅https://github.com/querydsl/querydsl/tree/master/querydsl-jpa

有关如何使用Querydsl生成必要的类,请参阅QueryDsl - How to create Q classes with maven?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40633413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档