반응형
들어가며
과제를 하면서 '왜' 이렇게 사용하는지, 다른 방법은 없는지를 고민하면서 코드를 짜다보니까 알아야할 거랑 궁금한게 점점 많아진다.
그래서 뭐부터 정리해야할 지 고민이 된다.
일단 오늘의 TIL은 과제를 하면서 이용했던 부분과 삽질로그를 작성해보고자 한다.
JPA findAll 정렬하기
요구사항 중 하나인, 작성 날짜 기준으로 내림차순 정렬을 하기 위해 JPA sort하는 방법을 찾아봤다.
물론 여러가지 방법이 있겠지만 맘에 드는 두가지만 소개해보도록 한다.
1. Sort 파라미터 사용하기
List<Post> posts = postRepository.findAll(Sort.by(Sort.Direction.DESC, "createdAt"));
findAll을 해주고 Sort.by()를 사용하는 방식이다. 간단하지만 코드가 길게 늘어지는게 맘에 들지 않는다. 그래서 이용한게 JPA자체의 기능을 사용하는 두번째 방식이다.
2. Repository에 인터페이스 정의하기
List<Post> findAllByOrderByCreatedAtDesc();
Repository에서 JPA가 제공하는 기본 기능을 사용하는 방식이다. 위처럼 규칙에 따라서 인터페이스를 정의해주면 JPA가 자동으로 쿼리를 짜서 날려준다. 이걸 이용만 하면 된다!
이게 훨씬 객체지향적인 느낌이라 두번재 방식을 사용하기로 했다.
삽질로그
며칠째 삽질 중인 내용이고, 여전히 미해결이다. 지연로딩에 관해 강의를 더 보고나서 마저 해결하기로 했다.
마치며
드디어 불편한 책상을 처분하고 새롭게 산 책상 조립과 설치를 다했다. 어제 새벽에 시작해서 오늘까지 거의 한나절동안 손으로 조립하느라고 피곤했는지 세상모르게 잠을 자버렸다...
오늘은 진짜 진짜로 일찍 자고 일찍 일어나기로!!!!! 꼭!!!!!!!!
반응형
'Study > TIL' 카테고리의 다른 글
[TIL] 06/09 항해99 32일차 - 스프링 프레임워크(Spring Framework (0) | 2022.06.09 |
---|---|
[TIL] 06/08 항해99 31일차 - 유효성검증, 삽질로그 (0) | 2022.06.09 |
[TIL] 06/06 항해99 29일차 - 과제 [나만의 블로그 만들기] (0) | 2022.06.07 |
[TIL] 06/04 항해99 27일차 - 과제 [나만의 블로그 만들기] (0) | 2022.06.05 |
[TIL] 06/03 항해99 26일차 - domain & DTO (0) | 2022.06.04 |