article thumbnail image
Published 2022. 7. 8. 02:55

1. JPQL - 기본 문법과 기능

• JPQL은 객체지향 쿼리 언어다.따라서 테이블을 대상으로 쿼리 하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. 
• JPQL은 SQL을 추상화해서 특정데이터베이스 SQL에 의존하지 않는다. 
• JPQL은 결국 SQL로 변환된다. 

 

 

• select m from Member as m where m.age > 18 
• 엔티티와 속성은 대소문자 구분O (Member, age) 
• JPQL 키워드는 대소문자 구분X (SELECT, FROM, where) 
• 엔티티 이름 사용, 테이블 이름이 아님(Member) 
• 별칭은 필수(m) (as는 생략가능)

 

 

 

2. 집합과 정렬

 

• GROUP BY, HAVING 
• ORDER BY

 

 

 

 

3. TypeQuery, Query

• TypeQuery: 반환 타입이 명확할 때 사용
• Query: 반환 타입이 명확하지 않을 때 사용

 

 

 

4. 결과 조회 API

• query.getResultList(): 결과가 하나 이상일 때, 리스트 반환
• 결과가 없으면 빈 리스트 반환
• query.getSingleResult(): 결과가 정확히 하나, 단일 객체 반환
• 결과가 없으면: javax.persistence.NoResultException 
• 둘 이상이면: javax.persistence.NonUniqueResultException

 

 

 

 

5. 파라미터 바인딩 - 이름 기준, 위치 기준

 

 

출처 : 김영한, 자바 ORM 표준 JPA 프로그래밍 - 기본편

'JPA' 카테고리의 다른 글

페이징 API  (0) 2022.07.08
프로젝션  (0) 2022.07.08
JDBC 직접 사용, SpringJdbcTemplate 등  (0) 2022.07.08
네이티브 SQL  (0) 2022.07.08
QueryDSL  (0) 2022.07.08
복사했습니다!