## DB 방언 * SQL 표준에 맞지 않고, 특정 DB의 고유한 기능을 방언 이라고 한다. * JPA 가 제공하는 표준 문법에 맞춰 사용하면 JPA가 해당 DB 방언을 처리해준다. * 따라서 애플리케이션 코드 변경없이 DB 변경 용이하다. * 하이버네이트가 제공 ## 쿼리 실행 과정 1. persistence.xml(jpa 설정 파일) 을 읽어 엔티티 매니저 팩토리 생성 * 엔티티 매니저 팩토리는 생성 비용이 크다. * 애플리케이션 전체에서 초기 한번만 실행해서 공유해서 사용해야 한다. 2. 엔티티 매니저 생성 * 이를 이용하여 엔티티를 CRUD 할 수 있다. * 엔티티 매니저는 DB 커넥션과 관련, Thread 간 공유 X * 따라서 사용 끝난 em은 종료 ## JPQL * DB 테이블이 아닌 엔티티 객체를 대상으로 쿼리한다. * JPQL은 DB 테이블을 모른다. * 즉, JPA가 JPQL을 분석해서 적절한 SQL로 바꿔준다.
DB 방언
쿼리 실행 과정
JPQL