들어가며
과제를 하면서 '왜' 이렇게 사용하는지, 다른 방법은 없는지를 고민하면서 코드를 짜다보니까 알아야할 거랑 궁금한게 점점 많아진다.
그래서 뭐부터 정리해야할 지 고민이 된다.
일단 오늘의 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가 자동으로 쿼리를 짜서 날려준다. 이걸 이용만 하면 된다!
이게 훨씬 객체지향적인 느낌이라 두번재 방식을 사용하기로 했다.
삽질로그
[삽질로그] Entity 관련 삽질
문제상황 06/06일 TIL로 작성한 2번째 문제가 아직 근본적으로 해결되지 않아서 쓰는 삽질로그. [TIL] 06/06 항해99 25일차 - 과제 [나만의 블로그 만들기] [TIL] 06/06 항해99 25일차 - 과제 [나만의 블로그
annajin.tistory.com
며칠째 삽질 중인 내용이고, 여전히 미해결이다. 지연로딩에 관해 강의를 더 보고나서 마저 해결하기로 했다.
마치며
드디어 불편한 책상을 처분하고 새롭게 산 책상 조립과 설치를 다했다. 어제 새벽에 시작해서 오늘까지 거의 한나절동안 손으로 조립하느라고 피곤했는지 세상모르게 잠을 자버렸다...
오늘은 진짜 진짜로 일찍 자고 일찍 일어나기로!!!!! 꼭!!!!!!!!
'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 |