[Spring JPA #8] JPA Query
- Spring/Spring JPA
- 2019. 1. 28. 00:20
반응형
| JPQL (HQL)
- Java Persistence Query Language / Hibernate Query Language 를 의미하는 것으로써 데이터 베이스 테이블이 아닌, 엔티티 객체 모델 기반으로 쿼리를 작성하는 SQL과 유사한 구문입니다.
- JPA 또는 Hibernate가 해당 쿼리를 SQL로 변환해서 실행하게 됩니다.
TypedQuery<Post> query = entityManager.createQuery("SELECT p FROM Post AS p", Post.class);
List<Post> posts = query.getResultList();
posts.forEach(System.out::println);
| Criteria
- JPA에서 제공하는 타입 세이프한 쿼리로써 JPQL에서 오타가 났을 경우 이것을 체크하지 못하는 문제를 방지합니다.
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Post> query = builder.createQuery(Post.class);
Root<Post> root = query.from(Post.class);
query.select(root);
| Native Query
- DBMS에서 제공하는 SQL 쿼리를 실행하는 방법입니다.
TypedQuery<Post> query = entityManager.createQuery("SELECT p FROM Post AS p", Post.class);
List<Post> posts = query.getResultList();
posts.forEach(System.out::println);
https://www.inflearn.com/course/스프링-데이터-jpa
반응형
'Spring > Spring JPA' 카테고리의 다른 글
[Spring JPA #10] 스프링 데이터 Common 리포지터리(Repository) (0) | 2019.01.28 |
---|---|
[Spring JPA #9] 스프링 데이터 JPA 원리 및 스프링 데이터 구성 요소 (0) | 2019.01.28 |
[Spring JPA #7] JPA Fetch (0) | 2019.01.27 |
[Spring JPA #6] JPA Cascade (0) | 2019.01.27 |
[Spring JPA #5] JPA 엔티티 상태 (0) | 2019.01.27 |
이 글을 공유하기