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 |
댓글