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

HotFried·2023년 10월 5일
0

TYPE

  • 조회 대상을 특정 자식으로 한정한다.
    ex) 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')

TREAT

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

ex) 부모인 Item과 자식 Book

JPQL

select i from Item i
where treat(i as Book).author = 'kim'

SQL

select i.* from Item i
where i.DTYPE='B' and i.author = 'kim'

참고 :

김영한. 『자바 ORM 표준 JPA 프로그래밍』. 에이콘, 2015.

자바 ORM 표준 JPA 프로그래밍 - 기본편

profile
꾸준하게

0개의 댓글