자바 ORM 표준 JPA 프로그래밍(인프런)

Ch11. 객체지향 쿼리 언어2(중급 문법) - 엔티티 직접 사용

webmaster 2021. 12. 18. 12:50
728x90

엔티티 직접 사용 - 기본 키 값

JPQL에서 엔티티를 직접 사용하면 SQL에서 해당 엔티티의 기본키 값을 사용

JPQL

select count(m.id) from Member m //엔티티의 아이디를 사용
select count(m) from Member m //엔티티를 직접 사용

SQL ( JPQL 둘 다 같은 SQL을 실행한다)

select count(m.id) as cnt from Member m
  • 엔티티를 식별하는 것은 기본키이기 때문에 기본키 값을 사용한다.
  • 엔티티를 파라미터로 전달

엔티티를 파라미터로 전달

  • 식별자를 직접 전달

식별자를 직접 전달

  • 파라미터로 전달하나 식별자를 직접 전달하나 실행되는 SQL 은 같다.
select m.* from Member m where m.id=?

엔티티 직접 사용 - 외래 키 값

외래키에 엔티티를 직접사용
외래키의 id를 엔티티의 외래키.id를 사용

실행된 SQL

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

Test

  • 외래키의 엔티티를 직접 사용하나, 외래키 엔티티의 id를 직접 뽑아서 사용하나 실행되는 SQL은 같다
728x90