전체 글 38

jpa N+1 해결방법

JPA에는 N+1 문제라는 것이 존재합니다.N+1문제란 DB에서 불러올 때 1개의 쿼리가 아니라 연관관계 객체를 불러오기 위한 N개의 쿼리가 발생하여 성능이 저하되는 문제입니다.JPA를 사용하여 엔티티간 연관관계를 맺으며 프로젝트를 진행하면 필연적으로 N+1 문제에 직면하게 됩니다. 해결 방법N+1 문제를 해결하는 방법에는 여러 가지가 있습니다:Fetch Join 사용:JPQL에서 JOIN FETCH를 사용하여 부모와 자식 엔티티를 한 번의 쿼리로 가져올 수 있습니다.@Query("SELECT p FROM Parent p JOIN FETCH p.children")List findAllWithChildren(); EntityGraph 사용:JPA 2.1부터 지원하는 기능으로, 엔티티 그래프를 사용하여 어떤..

카테고리 없음 2025.02.23

스프링빈을 통한 의존성 주입과 그냥 import 차이

모든 클래스를 의존성 주입 없이 임포트하여 사용할 수 있습니다. 일반 클래스를 빈으로 등록하지 않고도 필요한 곳에서 직접 인스턴스화하여 사용할 수 있습니다.   1. **임포트**: 클래스를 사용하기 위해 해당 패키지를 임포트할 수 있습니다. 예를 들어:    ```java   import com.pjt.insurance.model.SomeClass;   ``` 2. **직접 인스턴스화**: 클래스를 직접 생성하여 사용할 수 있습니다. 예:    ```java    SomeClass someClass = new SomeClass();    someClass.doSomething();    ``` 3. **의존성 주입 필요 없음**: 의존성 주입을 사용하지 않고도 클래스를 임포트하고 사용할 수 있으므로, ..

카테고리 없음 2024.12.30