BackEnd/JPA

JPA 경로표현식

ssseung 2021. 4. 27. 20:43

경로 표현식이란 

.(점) 을 찍어 객체 그래프 를 탐색 하는 것을 말한다.

 

상태 필드, 단일값 연관 필드, 컬렉션값 연관 필드가 있다.

이들은 내부적으로 동작하는 방식, 결과가 달라져 구분해야한다.

    특징 탐색
상태 필드  단순히 값만 저장하기 위한 필드  경로 탐색의 끝 x
단일값 연관 필드 연관관계를 위한 필드, 타킷이 엔티티일 때 
@ManyToOne, OneToOne
묵시적 내부 조인 o
컬렉션값 연관 필드 컬렉션을 위한 필드  묵시적 내부 조인  x | o(가능)

 

상태필드

select m.username from Member m

 

단일값 연관 필드

select m.team from Member m

탐색 -> select m.team.name from Member m
select o.member.team from Order o  성공하지만 묵시적 조인이 2번이나 일어난다..

 

컬렉션 값 연관 필드

 

아래 team 에 members는 Team 클래스에 있는 List<Member> 컬렉션이다.

그래서 member 에 대한 정보는 더 탐색할 수 없고 해봐야 List의 size 만 조회가능하다.

select t.members from Team t

탐색 -> select t.members.size from Team t

하지만 from 절에서 명시적 조인을 추가해 별칭을 얻으면 별칭 통해 탐색 가능

 

select m.username from Team t join t.members m;

 

묵시적 조인은 항상 내부조인이다.

경로 탐색은 주로 select,where  절에서 사용하지만 묵시적 조인으로 인해 sql 의 from 절 (join)에 영향을 준다.

실무에서 명시적 조인을 하는게 읽기도 좋고 나중에 SQL 튜닝이 쉽다.

 


www.inflearn.com/course/ORM-JPA-Basic/dashboard

 

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 본 강의는 자바 백엔

www.inflearn.com

 

반응형