Free Lines Arrow
본문 바로가기
DataBase/JPA

[JPA] JPQL 엔티티 직접 사용

by skahn1215 2021. 9. 28.
728x90
반응형

JPQL 엔티티 직접 사용

엔티티를 JPQL 에서 직접 사용하면 어떻게 될까?

엔티티 기본 키값을 사용한다.

 

 

예제1

JQPL 

  • 다음 두개는 동일한 결과를 가져온다.
  • select count(m.id) from Member m 
  • select count(m) from Member m

SQL

실제 수행되는 쿼리는 동일하다.

  • select count(m.id) as cnt from Member m

 

예제2

엔티티를 파라미터로 전달

String jpql = "select m from Member m where m = :member";
List resultList = em.createQuery(jpql)
                         .setParameter("member" member)
                         .getResultList();

 

식별자를 직접 전달

String jpql = "select m from Member m where m.id = :memberId";
List resultList = em.createQuery(jpql)
                         .setParameter("memberId" memberId)
                         .getResultList();

 

결과

두개의 쿼리 결과가 동일하다.

select m.* from Member m where m.id = ?

 

 

 

 

728x90
반응형

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

[JPA] JPA의 설정 옵션들  (0) 2022.01.26
[JPA] JPQL Named 쿼리  (0) 2021.09.28
[JPA] JPQL Fetch Join  (0) 2021.09.26
[JPA] JPQL 경로표현식  (0) 2021.09.26
[JPA] JPQL 기본함수, 사용자 정의 함수 호출  (0) 2021.09.25

댓글