Study/TIL

[TIL] 06/07 항해99 30일차 - JPA sort, 삽질로그

Anna-Jin 2022. 6. 8. 01:17
728x90
반응형

 

들어가며

과제를 하면서 '왜' 이렇게 사용하는지, 다른 방법은 없는지를 고민하면서 코드를 짜다보니까 알아야할 거랑 궁금한게 점점 많아진다.

그래서 뭐부터 정리해야할 지 고민이 된다.

 

일단 오늘의 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 관련 삽질

 

[삽질로그] Entity 관련 삽질

문제상황 06/06일 TIL로 작성한 2번째 문제가 아직 근본적으로 해결되지 않아서 쓰는 삽질로그. [TIL] 06/06 항해99 25일차 - 과제 [나만의 블로그 만들기] [TIL] 06/06 항해99 25일차 - 과제 [나만의 블로그

annajin.tistory.com

 

며칠째 삽질 중인 내용이고, 여전히 미해결이다. 지연로딩에 관해 강의를 더 보고나서 마저 해결하기로 했다.

 

 


마치며

드디어 불편한 책상을 처분하고 새롭게 산 책상 조립과 설치를 다했다. 어제 새벽에 시작해서 오늘까지 거의 한나절동안 손으로 조립하느라고 피곤했는지 세상모르게 잠을 자버렸다...

 

 

오늘은 진짜 진짜로 일찍 자고 일찍 일어나기로!!!!! 꼭!!!!!!!!

 

 

 

 

728x90
반응형