Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

지우쓰 개발일기

[JPA] JPQL 개요 본문

Spring Boot/JPA

[JPA] JPQL 개요

jiwoo-kimm 2020. 9. 9. 01:19

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

 

자바 ORM 표준 JPA 프로그래밍

에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다.

www.aladin.co.kr


JPQL

 

JPQLJava 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

 

'Spring Boot > JPA' 카테고리의 다른 글

[JPA] 연관관계 Mapping (1)  (0) 2020.09.10
[JPA] Persistence Context  (0) 2020.09.09
[JPA] CRUD 기본  (0) 2020.09.09
[JPA] persistence.xml 기본 설정  (0) 2020.09.08
[JPA] 매핑 정보 Annotation  (0) 2020.09.08
Comments