JPQL이란 Java Persistence Query Language의 약자로, DB 테이블이 아니라 엔티티의 객체를 대상으로 검색하는 객체 지향 쿼리이다.
SQL과 비슷한 문법을 가지고 있다.
JPQL을 사용하기 전까지는 Entity Manager의 find를 통해 select 작업을 실행했는데, find 함수만 활용하기에는 조회가 복잡해지고 어려워질 수록 사용하기 까다로워진다 -> 이를 해결하기 위한 것이 JPQL
JPA는 JPQL을 읽고 분석해서 SQL문을 생성하고, DB에 SQL을 실행하는 역할을 한다.
이 덕분에 JPA는 특정 DB에 의존하지 않아 여러 DB에도 동일한 JPQL을 사용하면 DB에 접근할 수 있다.
JPA를 사용하기 위해 Repository 인터페이스를 생성하고 JpaRepository를 extends한다. 이 인터페이스에서 정의한 메소드를 실행하여 DB연동을 하는데, 이 때 JPA는 인터페이스 메소드 이름을 분석해서 JPQL로 변환하고, 이를 가지고 SQL문을 만들어서 DB에 SQL문을 실행하는 역할을 한다.
'공부' 카테고리의 다른 글
CHAR와 VARCHAR의 차이점 (0) | 2023.09.24 |
---|---|
Java Virtual Machine(JVM) (0) | 2023.09.17 |
JPA N+1 문제에 대하여 (BatchSize, EntityGraph) (0) | 2023.09.15 |
Cross-Origin Resource Sharing(CORS)와 preflight (0) | 2023.09.03 |
3계층 구조(3-Tier Architecture)란? (0) | 2023.09.01 |