네이티브 SQL
public List<Travel> findRandom() {
return em.createNativeQuery("select * from travel order by rand() limit 20", Travel.class)
.getResultList();
}
컨트롤러 매개변수에서 쓰이는 어노테이션 정리
- @RequestBody :
- 클라이언트가 body에 application/json 형태로 값(보통 객체)을 담아 전송하면, body의 내용을 다시 Java Object(객체)로 변환해주는 역할을 수행합니다.
- @PathVariable : url에 id 값 넣어서 받아오는 경우
ex) "travels/{travelId}/detail"
- @RequestParam : 파라미터 하나하나 씩 받아 올때
- HTTP 요청 parameter를 @RequestParam이 쓰이는 메소드의 변수로 Mapping 해주는 역할입니다.
- @ModelAttribute : form 만들어서 한번에 받아올때
- 클라이언트가 전송하는 HTTP parameter(URL 끝에 추가하는 파라미터), HTTP Body 내용을 Setter 함수를 통해 1:1로 객체에 데이터를 바인딩합니다. (Setter 필수!)
- ※ 참고
https://maivve.tistory.com/298, https://galid1.tistory.com/769