Vit*_*yak 5 spring predicate querydsl spring-data spring-data-jpa
当我尝试使用 Querydsl(如 Spring 参考Spring 1.10.4.RELEASE 参考中所示)时,我从 IDE 中收到一些错误:无法解析方法 findAll(predicate)。我将导入更改为 com.mysema.query.types.Predicate。现在方法看起来不错。但我无法解决问题:
Predicate predicate = user.getUsername().equalsIgnoreCase(username).and((user.getId().equals(userid)).not);
Run Code Online (Sandbox Code Playgroud)
我收到错误:无法解析方法:并且无法解析方法。
一些参考:示例 32. 存储库上的 Querydsl 集成
interface UserRepository extends CrudRepository<User, Long>, QueryDslPredicateExecutor<User> {
}
Run Code Online (Sandbox Code Playgroud)
以上允许使用 Querydsl Predicate 编写类型安全查询。
Predicate predicate = user.firstname.equalsIgnoreCase("dave")
.and(user.lastname.startsWithIgnoreCase("mathews"));
userRepository.findAll(predicate);
Run Code Online (Sandbox Code Playgroud)
但例子是不正确的。有人知道如何使用这个吗?
您可能user一开始就使用了错误的对象。我假设您当前正在使用域类,User但您需要使用 Querydsl 生成的类,通常名为QUser.
有关示例代码,请参阅https://github.com/querydsl/querydsl/tree/master/querydsl-jpa 。
请参阅QueryDsl - 如何使用 Maven 创建 Q 类?了解如何使用 Querydsl 生成必要的类。
| 归档时间: |
|
| 查看次数: |
1974 次 |
| 最近记录: |