자바 ORM 표준 JPA 프로그래밍(인프런)

Ch11. 객체지향 쿼리 언어2(중급 문법) - 다형성 쿼리

webmaster 2021. 12. 18. 12:39
728x90

도메인 모델

TYPE

JPQL

select i from Item i 
where type(i) IN (Book, Movie)

SQL

select i from i
where i.DTYPE in (‘B’, ‘M’)
  • 조회 대상을 특정 자식으로 한정 
    • 예) Item 중에 Book, Movie를 조회해라

TREAT

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’
  • 자바의 타입 캐스팅과 유사
  • 상속 구조에서 부모 타입을 특정 자식 타입으로 다룰 때 사용
  • FROM, WHERE, SELECT(하이버네이트 지원) 사용
    • 예) 부모인 Item과 자식 Book이 있다.

 

728x90