jpa模糊查询(表中的某些数据)


业务代码

Controller

   @GetMapping({"/task/project"})
    public ResponseEntity findByProjectTitle(@RequestParam(required = false, defaultValue = "") String title) {
        return ResponseEntity.ok(projectService.findAllByUserPidAndProjectTitleLikeAndVersionIs(getOperatorId(), title));
    }

Service

    @Transactional(readOnly = true)
    public List findAllByUserPidAndProjectTitleLikeAndVersionIs(String operatorId, String title) {
        title = StringUtils.hasText(title) ? "%" + title + "%" : "%%";
        return repository.findAllByUserPidAndProjectTitleLikeAndVersionIs(operatorId, title, 3, ProjectInfoRepository.ProjectSimpleInfo.class);
    }

此方法findAllByUserPidAndProjectTitleLikeAndVersionIs(operatorId, title, 3, ProjectInfoRepository.ProjectSimpleInfo.class)第三个参数

ProjectRepository

public interface ProjectInfoRepository extends JpaRepository, JpaSpecificationExecutor, ProjectInfoCustomRepository {

     List findAllByUserPidAndProjectTitleLikeAndVersionIs(String userPid, String projectTitle, Integer version, Class type);

    Optional findByPid(String pid);

    interface ProjectSimpleInfo {
        String getPid();

        String getProjectTitle();
    }
}

Repository

 List findAllByUserPidAndProjectTitleLikeAndVersionIs(String userPid, String projectTitle, Integer version, Class type);