[JPA] JPQL 개요

Jiwoo Kim·2020년 11월 17일
0

JPA 마스터하기

목록 보기
4/14
post-thumbnail

JPQL

JPQL은 Java Persistence Query Language로, 엔티티 객체 대상의 쿼리 언어다.

JPA를 사용할 때 개발자는 엔티티 객체 중심으로 코드를 짠다. 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색을 해야 하는데, DB의 모든 데이터를 엔티티로 불러 와서 검색을 하는 것은 불가능하다.

그렇기에 SQL문을 직접 작성하게 되는데, JPA에서는 JPQL이라는 SQL을 추상화한 쿼리 언어를 사용한다.

JPQL로 엔티티 중심의 쿼리를 작성하면 JPA가 이를 분석하여 SQL을 작성하여 DB에서 검색을 할 수 있게 되는 것이다.

사용법

TypedQuery<Member> query = em.createQuery("select m from Member m", Member.class);
List<Member> members = query.getResultList();

EntityManager의 createQuery 메소드를 호출하여 query 객체를 생성한 후 getResultList() 메소드를 호출하면 된다.

이 때 작성된 JPQL은

select m from Member m

아래와 같은 SQL문으로 변환된다.

SELECT M.ID, M.NAME, M.AGE FROM MEMBER M

본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. (2020.09.09)

0개의 댓글