728x90
- 미리 정의해서 이름을 부여해두고 사용하는 JPQL
- 정적 쿼리
- 어노테이션, XML에 정의
- 애플리케이션 로딩 시점에 초기화 후 재사용
- 애플리케이션 로딩 시점에 쿼리를 검증



- @NamedQuery를 통해 NamedQuery를 작성할 수 있다.
- 애플리케이션 로딩 시점에 미리 파싱 하여 오류 여부를 파악한다.
- 가장 좋은 에러 1) 컴파일 2) 어플리케이션 실행시점 3) 실제 이벤트 동작 시점
- createNamedQuery를 통해 NamedQuery을 이름을 지정하여 사용하면 된다.
Named 쿼리 - XML에 정의

- XML이 항상 우선권을 가진다.
- 애플리케이션 운영 환경에 따라 다른 XML을 배포할 수 있다
- SpringDataJPA에서의 @Query로 사용하는 jpql 같은 경우 Spring에서 해당 쿼리를 다 Named쿼리로 등록하기 때문에 애플리케이션 로딩 시점에 에러를 잡을 수 있는 것이다.
728x90
'자바 ORM 표준 JPA 프로그래밍(인프런)' 카테고리의 다른 글
| Ch01. JPA 소개 - SQL 중심적인 개발의 문제점 (0) | 2022.04.24 |
|---|---|
| Ch11. 객체지향 쿼리 언어2(중급 문법) - 벌크 연산 (0) | 2021.12.18 |
| Ch11. 객체지향 쿼리 언어2(중급 문법) - 엔티티 직접 사용 (0) | 2021.12.18 |
| Ch11. 객체지향 쿼리 언어2(중급 문법) - 다형성 쿼리 (0) | 2021.12.18 |
| Ch11. 객체지향 쿼리 언어2(중급 문법) - 페치 조인(한계) (0) | 2021.12.18 |