[Spring] JPA 엔티티에 왜 기본 생성자가 필수일까?
·
Spring/JPA
안녕하세요. 글 쓰는 개발자 stark입니다! 오늘은 JPA를 사용하면서 "왜 엔티티에 기본 생성자가 필수적일까? 하는 궁금증을 해결하기 위해 공부한 내용을 정리해보려고 합니다. 어느 날, 제가 작성한 코드를 리뷰하며 피드백하던 중 엔티티 클래스가 너무 지저분하게 작성된 것이 아닌지 생각해 보게 되었습니다. 그래서 어떻게 해야 코드가 깔끔해질지 고민하며 매개변수가 없는 기본 생성자를 제거해 보았습니다.@AllArgsConstructor(access = AccessLevel.PRIVATE)@NoArgsConstructor // 이 코드를 제거했습니다.@Getter@Entity@Table(name = "member")public class MemberEntity { @Id @Genera..
JPA N+1 문제가 발생하는 상황과 해결방법
·
Spring/JPA
이번 포스트에서는 JPA를 사용할 때 N+1 문제가 발생하는 상황과 3가지 해결방법을 알아보자 📌 서론 JPA에서 너무 많은 SQL 쿼리를 실행하는 것은 성능 문제의 가장 일반적인 원인 중 하나다. 잘못 구현되면, 아주 간단해 보이는 쿼리조차도 데이터베이스에 수십 또는 수백 개의 SQL 쿼리를 발생시킬 수 있다. 우리는 이런 문제를 n+1 쿼리 문제라고 한다. 이번 포스트에서는 이러한 N+1 문제에 대해서 다뤄보고자 한다. 1. N+1 문제가 발생하는 상황 설명 지금부터 N+1 문제가 발생하는 상황을 가정한다. 프로젝트 세팅은 다음과 같다. SpringBoot 3.2 Lombok org.projectlombok:lombok JPA Spring Data JPA DB PostgreSQL Querydsl 5...