나를 기록하다
article thumbnail
Published 2023. 3. 16. 12:06
[JPA] JPQL의 기초 Java/JPA
반응형

1. JPQL이란?

  • JPQL은 Java Persistence API (JPA)의 쿼리 언어 중 하나이며, 객체 지향적인 방식으로 데이터베이스를 다루기 위한 언어이다.
  • JPQL은 엔티티 객체를 대상으로 쿼리를 작성하며, SQL과 유사한 구문을 사용한다. 그러나 JPQL은 객체 지향적인 개념에 기반을 두기 때문에, 테이블과 컬럼 이름 대신에 엔티티 클래스와 필드 이름을 사용하고, SQL에서처럼 JOIN 조건을 명시할 필요가 없다.
  • JPQL을 사용하면 객체 지향적인 개념으로 데이터를 다룰 수 있으며, JPA에서 제공하는 다양한 기능을 활용할 수 있다. 예를 들어, 상속 관계가 있는 엔티티를 조회할 때는 JPQL의 상속 관계를 지원하는 기능을 사용할 수 있다.
  • JPQL은 EntityManager 인터페이스를 사용하여 실행할 수 있다. JPA에서는 EntityManager를 사용하여 엔티티를 관리하며, JPQL 쿼리를 실행할 때도 EntityManager를 사용한다. JPQL을 사용하여 엔티티를 조회하면, JPA는 데이터베이스에서 데이터를 가져와서 엔티티 객체로 변환하여 반환한다.

 

2. JPQL 실습

1) JPQL로 전체 회원 검색

 

2) JPQL에 대하여

  • JPA를 사용하면 엔티티 객체를 중심으로 개발 문제는 검색쿼리, 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능 애플리케이션을 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요함 JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공 SQL과 문법 유사, SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 지원

 

  • PQL은 엔티티 객체를 대상으로 쿼리
  • SQL은 데이터베이스 테이블을 대상으로 쿼리

 

  • JPQL은 테이블이 아닌 객체를 대상으로 검색하는 객체 지향 쿼리이며, SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. JPQL을 한마디로 정의하면 객체 지향 SQL이며 뒤에서 자세히 다루겠다.
반응형

'Java > JPA' 카테고리의 다른 글

[JPA] Getter and Setter  (0) 2023.04.02
[JPA] 객체와 테이블, 조인 전략  (0) 2023.04.02
[JPA] Flush  (0) 2023.03.19
[JPA] JPA 기초설정과 H2 DB 연동  (0) 2023.03.16
[JPA] JPA 용어 및 개요  (0) 2023.03.15
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...