JPA @NamedQuery는 응용 프로그램을 배포하고 SQL을 캐시 할 때 한 번만 SQL로 변환됩니다. EntityManager.createQuery는 메서드가 호출 될 때마다 쿼리를 변환합니다.스프링 데이터 JPA @Query 동적 또는 명명 된?
@Query 주석에 정의 된 쿼리로 Spring-data-jpa가 수행하는 작업은 무엇입니까? 배포 중에 (예 : NamedQuery) SQL로 변환되었거나 매번 (동적 쿼리와 같이) 변환 되었습니까?
spring-data-jpa는 JPA 구현이 아니므로 아무 것도 변환하지 않습니다. 아마도 JPA 구현을위한 로그를 보면 그 질문에 대한 답변을 얻을 수 있습니다 ... –
일부 JPA 구현은 컴파일 된 쿼리 (예 : SQL)를 캐시하므로 그러한 다중 변환은 없습니다. JPA 구현이 무엇인지는 언급하지 않았습니다. –