10. 객체지향 쿼리 언어 - 기본 문법 (JPQL 타입 표현)

HotFried·2023년 10월 4일
0

문자

  • 'Hello'
  • 'She''s'
    -> Single Quotation을 두 개 넣어준다.

숫자

  • 10L -> Long
  • 10D -> Double
  • 10F -> Float

Boolean

  • True
  • False

대소문자 구분 하지 않아도 된다.


Enum

  • 패키지 명을 포함해서 작성해야한다
select m.username, 'hello', true from Member m " +
                "where m.type = jpql.MemberType.USER";

파라미터 바인딩이 가능하다

String query = "select m.username, 'hello', true from Member m " +
		//파라미터 바인딩
        "where m.type = :userType";

List<Object[]> result = em.createQuery(query)
		//파라미터 바인딩
        .setParameter("userType", MemberType.ADMIN)
        .getResulstList();

엔티티 타입

  • TYPE(m) = Member
    -> 타입을 확인할 때 사용한다.
    ex. 상속 관계
TypedQuery<Item> query=em.createQuery("select i from Item i where type(i) = 'Book'",Item.class);

Item의 엔티티 타입이 Book인 경우를 조회한다.


JPQL 기타 식

SQL과 문법이 같은 식

  • EXISTS, IN
  • AND, OR, NOT
  • =, >, >=, <, <=, <>
  • BETWEEN, LIKE, ISNULL

참고 :

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

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

profile
꾸준하게

0개의 댓글