
- 엔티티에 쿼리의 이름을 미리 만들어 둔다. 쿼리를 재활용 할 수 있는데 무슨 장점이 있을까?
- 정적 쿼리
- 어노테이션, XML에 정의
- 애플리케이션 로딩 시점에 초기화 후 재활용 (쿼리가 캐싱된다.)
- 애플리케이션 로딩 시점에 쿼리를 검증할 수 있다.
문자열 이라도 애플리케이션 로딩 시점에 검증이 가능하다. 레포지토리의 @Query 에서도 같은 에러를 봤던 것 같은데 Query 어노테이션도 네임드 쿼리 인가보다.
XML에 정의

- XML이 항상 우선권을 가진다.
- 배포 환경에 따라 다르게 배포 가능하다.
정리
실무에선 스프링 데이터 JPA를 사용하는데 @Query 어노테이션이 있는데.
네임드 쿼리로 JPA가 등록한다. 어마어마하다. 이름없는 네임드쿼리다. ㅋㅋ
예상이 맞았다!!