如何在JPA信息库中编写具有规范的自定义findAll()

问题描述 投票:0回答:1

[当我使用skuRepository.getAll()时,它可以正常工作,但是当我应用规范中定义的过滤器时(列表filteredRegs = skuRepository.getAll(specification)),我仍然获得表的所有行我应该怎么做才能将规范应用于我的自定义方法?

public interface SkuRepository extends CrudRepository<Sku, Integer>, JpaSpecificationExecutor<Sku> {

    @Query("select s from Sku s join fetch s.unit un join fetch s.supplier sup WHERE un.id = sku_unit_id AND sup.id = supplier_id")
    List<Sku> getAll(@Nullable Specification<Sku> var1);

    @Query("select s from Sku s join fetch s.unit un join fetch s.supplier sup WHERE un.id = sku_unit_id AND sup.id = supplier_id")
    List<Sku> getAll();
}
spring jpa criteria
1个回答
0
投票

您不能混合使用@Query和Specification

您只能实现JpaSpecificationExecutor接口方法以使用规范。

查找更多详细信息here

© www.soinside.com 2019 - 2024. All rights reserved.