[spring-boot] 블로그를 만들자. (3) Category 와 Comment

블로그 만들기 3번째 시간이다. 이번시간에는 post에 대한 카테고리 와 댓글을 만들어보자. post에는 여러개의 category를 넣을 수도 있겠지만 여기서는 한개의 category만 선택할 수 있고 댓글 경우에는 여러개의 입력 할 수 있게 만들어 보았다. 물론 컬럼들은 바뀔 수 있으나 큰 흐름은 대충 위와 같다. 만약 카테고리도 여러개를 넣고 싶다면 매핑테이블을 만들어서 하면 될 듯하다. post와 category 와의 관계는 다대일 관계이다. 반대로도 생각할 수 도 있는데 category 와 post의 관계는 일대다 다. 보통의.. Read More

spring jpa (Hibernate) 요청당 쿼리 count

회사 프로젝트가 거의 막바지로 이르면서 성능과 관련된 코드들을 리팩토링 하는중이다. 거의 대부분 jpa와 관련 있을 듯해서 jpa 튜닝(?) 이라고 해야 되나? 아무튼 그러고 있다. orm이 아닌 mapper 같은 경우에는 개발하면서 대충 몇번의 쿼리를 날리는지 감으로 알 수 있지만 jpa같은 경우에는 언제 어디서 쿼리들이 n+1이 될지 모르니 계속 모니터링을 하기 귀찮아서 로컬에서 테스트하거나 테스트 서버에 올릴때 요청당 쿼리를 count하는 것을 만들었다. 설명보다는 코드를 보자. @Slf4j @RequiredArgsConstructor public class RequestCountInterceptor extends HandlerInterceptorAdapter.. Read More

[spring-boot] 블로그를 만들자. (2) JPA

블로그 만들기 두번째 시간이다. 오늘은 무엇을 할까 고민하다가 블로그니까 Post기준으로 점차 확대하는 방향으로 나가야겠다고 생각했다. 오늘은 JPA 이야기가 많은거 같아서 JPA라고 제목도 붙었다. 우리는 JPA라는 것을 사용할 것이다. JPA는 하나씩 하나씩 차근차근 보면 답이 없다. 왜냐하면 JPA또한 공부할게 많다. 아 JPA가 이런거구나 정도만 알면 성공한거다. 혹자들은 Spring만큼 공부할 양이 많다고 하니 책을 사서 공부하는 편이 낫다. 예제의 경우 아주 쉽게 나와 있지만 실무 프로젝트에선 그런 쉬운 로직이 많이 없다. 단지.. Read More