JPQL → 객체를 이용하여 쿼리를 직접 날리고싶을 때

Untitled

Untitled

JPQL의 메리트?

→ 페이징을 할때 매우 유용하다.

Untitled

위 처럼 객체를 대상으로 하기에, 페이징을 하기 매우 수월하다.

JPQL

jpql은 sql을 추상화한 객체지향 쿼리언어이다.

sql이 데이터베이스 테이블을 지향하는것과 달리 jpql은 객체를 지향한다고 이해하면된다. 대부분의 쿼리를 지원한다!

JPQL의 사용 이유

JPA를 사용하면 엔티티 객체를 중심으로 개발하게 된다. 문제는 검색쿼리이다. 쿼리를 쓰는 과정에서 테이블을 조인하는 경우가 매우 많이 발생한다. 따라서 모든 db데이터를 객체로 변환하여 검색하는것은 사실상 불가능하다. 따라서 테이블이 아닌 엔티티 객체를 대상으로 쿼리를 날릴 수 있는것이 jpql이다.