JPA/JPQL

JPQL 기본 문법

lovineff 2020. 6. 9. 10:44

TypedQuery : 리턴 타입이 확실한 경우 사용

TypedQuery<Member> query1 = em.createQuery("select m from Member m", Member.class);
TypedQuery<String> query2 = em.createQuery("select m.username from Member m", String.class);

 

Query : 리턴 타입이 정확하지 않을 경우 사용

Query query3 = em.createQuery("select m.username, m.age from Member m");

 

단순 값을 DTO로 조회 : 패키지 명을 전부 적어야함

List resultList = em.createQuery("select new jpql.MemberDTO(m.username, m.age) from Member m").getResultList();

결과값을 collection 으로 받아올때는 .getResultList()

결과가 없으면 빈 리스트 반환(null X)

단일 결과값을 받을때는 .getSingleResult()

결과값이 정확히 하나여야함.

결과가 없다(NoResultException)

둘 이상(NonUniqueException)

 

'JPA > JPQL' 카테고리의 다른 글

서브 쿼리  (0) 2020.06.09
조인  (0) 2020.06.09
프로젝션  (0) 2020.06.09
파라미터 바인딩  (0) 2020.06.09
JPQL 특징  (0) 2020.06.09