Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

백엔드 개발 공부 일지

JAVA Spring - JPQL 본문

카테고리 없음

JAVA Spring - JPQL

JungCat 2023. 2. 7. 11:45

● JPQL 이란? 

JPA만의 기술을 사용했을 때는 DB의 데이터 조회를 식별자를 통한 조회와 객체 그래프를 통한 탐색만 가능하다.

 

식별자를 통한 조회 : em.find()

객체 그래프 탐색: a.getB().getC()

 

하지만 두가지 조회 방법으로만 어플리케이션 개발을 한다면 모든 엔티티를 메모리에 올려두고 애플리케이션에 필터링 하는 등의 성능 낭비가 발생한다. 이러한 낭비를 막으려면 데이터 베이스에서 상황별 조건에 맞게 필터링하여 데이터를 가져올 기술이 필요하다. JPA는 이러한 기능 제공을 위해 JPQL을 제공하고 있다.

 

JPQL은 Java Persistence Query Language의 약자로 JPA에서 SQL을 추상화하여 만든 객체 지향 쿼리 언어이다. SQL을 추상화 하였기에 특정 데이터베이스에 의존적이지 않다. Select, from, where, group by, having, join 등 SQL과 문법이 유사하여 개발자가 쉽게 사용할 수 있다.

 

그리고 JPQL은 테이블이 아닌 엔티티 객체를 대상으로 쿼리한다. (@Entity(name = " "))에 지정된 이름과 매핑된다.

 

https://seongwon.dev/Spring/20220829-JPA-JPQL/ 참조자료

Comments