본문 바로가기

웹 기술 쌈싸먹기/JPA

[JPA] 다형성 쿼리

다형성 쿼리

 

 

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’

 

'웹 기술 쌈싸먹기 > JPA' 카테고리의 다른 글

[JPA] 벌크연산  (0) 2022.02.09
[JPA] Named 쿼리  (0) 2022.02.09
[JPA] 페치 조인(fetch join)  (0) 2022.02.09
[JPA] JPQL 경로표현식  (0) 2022.02.09
[JPA] 조인, 서브쿼리  (0) 2022.02.09