반응형

[Spring JPA #8] JPA Query

반응형

| 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


반응형

이 글을 공유하기

댓글

Designed by JB FACTORY