[스프링] JPA 프로젝션

본 포스트에서는 JPA(Java Persistence API)에서 프로젝션에 대해 알아보겠습니다.

목차

  1. JPA의 프로젝션이란?
  2. 프로젝션 종류
  3. JPA 프로젝션 사용 예제
  4. 결론

1. JPA의 프로젝션이란?

JPA에서 프로젝션은 데이터베이스로부터 필요한 컬럼만 조회하는 기능을 말합니다. 보통 엔티티의 일부 필드만 조회하거나, 여러 엔티티의 필드들을 함께 조회하는 상황에서 프로젝션을 사용합니다.

2. 프로젝션 종류

JPA의 프로젝션에는 다음과 같이 두 가지 종류가 있습니다.

3. JPA 프로젝션 사용 예제

다음은 JPA 프로젝션을 사용한 예제 코드입니다.

// DTO 프로젝션 예제
@Query("SELECT new com.example.dto.EmployeeDTO(e.name, e.salary) FROM Employee e")
List<EmployeeDTO> findEmployeeDTO();

// 엔티티 프로젝션 예제
@Query("SELECT e FROM Employee e")
List<Employee> findEmployee();

4. 결론

본 포스트에서는 JPA의 프로젝션에 대해 간략하게 알아보았습니다. 프로젝션을 활용하여 불필요한 데이터의 조회를 피하고, 원하는 필드만을 효과적으로 조회할 수 있습니다.