DataBase/JPA
[JPA] JPQL 엔티티 직접 사용
p8labs
2021. 9. 28. 22:59
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
반응형