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<ProjectInfoRepository.ProjectSimpleInfo> findAllByUserPidAndProjectTitleLikeAndVersionIs(String operatorId, String title) {
        title = StringUtils.hasText(title) ? "%" + title + "%" : "%%";
        return repository.findAllByUserPidAndProjectTitleLikeAndVersionIs(operatorId, title, 3, ProjectInfoRepository.ProjectSimpleInfo.class);
    }

ProjectRepository

public interface ProjectInfoRepository extends JpaRepository<ProjectInfo, String>, JpaSpecificationExecutor<ProjectInfo>, ProjectInfoCustomRepository {

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

    Optional<ProjectInfo> findByPid(String pid);

    interface ProjectSimpleInfo {
        String getPid();

        String getProjectTitle();
    }
}

Repository

<T> List<T> findAllByUserPidAndProjectTitleLikeAndVersionIs(String userPid, String projectTitle, Integer version, Class<T> type);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章