article thumbnail image
Published 2022. 7. 10. 13:24

1. TYPE

• 조회 대상을 특정 자식으로 한정
• 예) Item 중에 Book, Movie를 조회해라


• [JPQL]
select i from Item i
where type(i) IN (Book, Movie) 


• [SQL]
select i from i
where i.DTYPE in (‘B’, ‘M’)

 

 

2. TREAT(JPA 2.1)

• 자바의 타입 캐스팅과 유사
• 상속 구조에서 부모 타입을 특정 자식 타입으로 다룰 때 사용
• FROM, WHERE, SELECT(하이버네이트 지원) 사용

 

 예) 부모인 Item과 자식 Book이 있다. 
• [JPQL]
select i from Item i
where treat(i as Book).auther = ‘kim’ 


• [SQL]
select i.* from Item i
where i.DTYPE = ‘B’ and i.auther = ‘kim’

 

 

 

 

 

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

'JPA' 카테고리의 다른 글

JPQL - Named 쿼리  (0) 2022.07.10
JPQL - 엔티티 직접 사용  (0) 2022.07.10
JPQL - 페치 조인(fetch join)  (0) 2022.07.10
JPQL - 경로 표현식  (0) 2022.07.08
JPQL 기본 함수  (0) 2022.07.08
복사했습니다!