Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

JPQL 타입 표현 본문

인프런/[인프런] 자바ORM 표준 JPA 프로그래밍

JPQL 타입 표현

Seung__ 2021. 8. 16. 16:03

1. JPQL 타입 표현


  • 문자 : 'HELLO', 'SHE"s'
  • 숫자 : 10L(Long), 10D(Double), 10F(Float)
  • Boolean : TRUE, FALSE
  • ENUM : jpabook.MemberType.Admin ( 패키지명 표함)
  • 엔티티 타입 : TYPE(m) = Member(상속 관계에서 사용)--> DiscriminatorValue로 활용됨
    • em.createQuery("select i from Item i where type(i) = Book", Item.class)

 

2. 예제


       String query = "select m.username, 'HELLO', TRUE from Member m ";

            List<Object[]> result = em.createQuery(query)
                    .getResultList();

            for (Object[] objects : result) {
                System.out.println("objects[0] = " + objects[0]);
                System.out.println("objects[1] = " + objects[1]);
                System.out.println("objects[2] = " + objects[2]);
            }
objects[0] = team
objects[1] = HELLO
objects[2] = true
  • enum을 사용하는 경우 아래와 같이 패키지명 포함해야함.
 String query = "select m.username, 'HELLO', TRUE from Member m " +
                    "where m.type = jpql.MemberType.ADMIN ";
  • 너무 긴데..? SetParamter로 지정하면 편함.
String query = "select m.username, 'HELLO', TRUE from Member m " +
				"where m.type = :userType ";


List<Object[]> result = em.createQuery(query)
                    .setParameter("userType", MemberType.ADMIN)
                    .getResultList();

 

 

 

3. JPQL 기타


  • SQL과 문법이 같으 ㄴ식
  • EXISTS, IN
  • AND, OR, NOT
  • =, >, >=, <, <=, <>
  • BETWEEN, LIKE, IN NULL

'인프런 > [인프런] 자바ORM 표준 JPA 프로그래밍' 카테고리의 다른 글

JPQL 기본 함수  (0) 2021.08.16
JPQL 조건식 - CASE  (0) 2021.08.16
서브쿼리  (0) 2021.08.16
JPQL JOIN  (0) 2021.08.16
JPQL 페이징 API  (0) 2021.08.16
Comments