Spring Data JPA의 Projection

메밀·2023년 5월 18일
0

jpa

Projection

DB의 필요한 속성만을 조회하는 것
엔티티 대신에 DTO로 조회 가능


1) 인터페이스 기반: Closed Projection

  • 조회할 필드의 getter로 이루어진 인터페이스 작성
  • 프로퍼티(getter) 형식의 인터페이스를 제공하면, 구현체는 Spring Data JPA가 제공한다.

2) 인터페이스 기반: Open Projection

-> SqEL 문법 지원

public interface UsernameOnly{
		@Value("#{target.username + ' ' + target.age + ' ' + target.team.name}")
		String getUsername();
}

SpEL문법을 사용하면, DB에서 엔티티 필드를 모두 조회한 다음 계산한다.
→JPQL SELECT 절 최적화가 안된다.



참고
링크텍스트

0개의 댓글