[英]Dynamic projection with Spring JPA repository and query DSL
我目前有一個 Spring JPA 存儲庫繼承QuerydslPredicateExecutor
和JpaRepository
。
我正在使用 QuerydslPredicateExecutor 中的Page<T> findAll(Predicate predicate, Pageable pageable)
QuerydslPredicateExecutor
) 方法,但我想做一個動態投影,就像我們可以用JpaRepository
做的一樣(比如<T> List<T> findByName(String name, Class<T> type)
例如)。
我試圖添加一個<T> Page<T> findAll(Predicate predicate, Pageable pageable, Class<T> type)
有沒有辦法做到這一點?
有沒有辦法做到這一點?
就在這里。
Spring 數據 JPA 的 2.6 RC1 版本引入了用於按示例查詢、規范和 Querydsl 的流暢 API。 您可以使用它來配置投影。 請注意,僅支持界面投影。
您可以使用這樣的預測:
interface SomeRepository extends CrudRepository, QuerydslPredicateExecutor {}
MyService {
@Autowired
SomeRepository repository;
void doSomething(){
Page<ProjectionInterface> projections =
repository.findBy(
querydslPredicate,
q -> q.as(ProjectionInterface.class).page(pageRequest)
);
// ...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.