主要字段說明:
pid:指導記錄主鍵
user_pid:用戶主鍵
competition_project_pid:用戶作品
Mysql表
Repository
/**
* 指導記錄
* @date 2020/3/24 9:26
*/
@Repository
public interface CompetitionProjectGuideRepository extends JpaRepository<CompetitionProjectGuide, String> {
Optional<CompetitionProjectGuide> findFirstByCompetitionProjectPidOrderByUpdateAtDesc(Long pid);
}
Service
public Optional<CompetitionProjectGuide> findFirstByCompetitionProjectPidOrderByUpdateAtDesc(Long pid) {
return repository.findFirstByCompetitionProjectPidOrderByUpdateAtDesc(pid);
}
Controller
@RequestMapping(method = {RequestMethod.GET}, value = "/task/project/guide")
public ResponseEntity getGuide(Long pid) {
Optional<CompetitionProjectGuide> guide = competitionProjectGuideService.findFirstByCompetitionProjectPidOrderByUpdateAtDesc(pid);
guide.orElseThrow(() -> new BusinessException(
HttpStatus.BAD_REQUEST, Translator.toLocale("guide.NotExists.message")));
return ResponseEntity.ok(guide);
}
postman測試
控制台
總結
可以通過findFirst或者findTop來獲取