Spring/JPA

[JPA] JPQL (Java Persistence Query Language) 객체 지향 쿼리

Pazery는ENFJ 2021. 10. 12. 01:00
반응형

JPQL? 객체 지향 쿼리?

JPA를 학습하던 중 조금 신선한(?) JPQL을 알게 됐습니다.

일반적으로 알고 있는 SQL는 데이터베이스의 테이블을 대상으로 한다면 JPQL은 객체를 대상으로 합니다.

 

객체를 대상으로 한다고?

 

위 코드의 결과물을 예상 해보세요 :)

네, 맞습니다. sout 으로 출력되는 결과물은 5개의 객체의 name값이 출력될 겁니다.

 

5개의 객체가 저장 되는 과정은

1. 엔티티매니저의 메서드를 활용하여 queryString과 객체 타입을 전달하고

2. 결과물의 1번 부터 5번까지의 객체가

3. List로 선언된 result 에 저장이 됩니다.

4. 끝

 

* SQL을 따로 작성 하지 않습니다.

* JPQL의 특징 중 한가지가 SQL을 추상화하여 특정 Database에 의존적이지 않기 때문에 각 Database의 SQL을 자동으로 작성하여 실행해줍니다.

 

반응형