如何将规范与查询绑定



我试图用规范注释自定义查询。我有大约9个api具有相同的规范,我不想创建9个带注释的查询。这里的问题是每个API都根据不同的列进行过滤,但所有API都有相同的规范。

不使用find-all方法,这是可能的吗?这是我试过的

public interface DoctorSpecialityRepository extends JpaRepository<DoctorSpecialityEntity, Integer>, JpaSpecificationExecutor<DoctorSpecialitySpecification> {
ArrayList<DoctorSpecialityEntity> getDoctorsWithFilter(@Param("subSpecialities") ArrayList<SpecialitiesCountriesEntity> subSpecialities, DoctorSpecialitySpecification specification);

但是会抛出异常

Using named parameters for method public abstract java.util.ArrayList com.plus.doctors.repositories.DoctorSpecialityRepository.getDoctorsWithFilter

您不需要在jparerepository中声明方法,您可以直接在规范类中编写自定义查询。您可以在实体之上构建可扩展的谓词集,然后可以将其与JpaRepository组合使用,而无需为每个所需的组合声明查询(方法)。

最新更新