-
-
안녕하세요? 오늘은 JPA에서 JPQL의 경로 표현식 에 대해 알아보도록 하겠습니다.
-
경로 표현식
: 점(.)을 찍어 객체 그래프를 탐색하는 것
: 상태필드 / 연관필드로 나눠진다.
상태필드(state field) | 경로 탐색의 끝, 더이상 탐색 불가 | |
연관필드 (accociation field) |
단일 값 연관필드 | @ManyToOne, @OneToOne, 대상이 엔티티 |
컬렉션 값 연관필드 | @OneToMany, @ManyToMany, 대상이 컬렉션 |
+
상태필드
: SELECT e.컬럼 FROM 엔티티 e
> 경로 탐색의 끝
>> 추가 탐색 불가
+
단일값 연관필드
(@ManyToOne, @OneToOne)
: SELECT e.단일연관관계객체 FROM 엔티티 e
> 묵시적 내부 JOIN 발생
> 추가 탐색 가능
+
컬렉션값 연관필드
(@OneToMany, @ManyToMany)
SELECT e.컬렉션연관관계객체 FROM 엔티티 e
> 묵시적 내부 JOIN 발생
> 추가 탐색 불가
-
묵시적 JOIN
: 경로 표현식에 의해,
묵시적으로 SQL 조인이 발생
> SELECT e.연관관계객체 from 엔티티 e
: 항상 내부 조인이 발생
: 컬렉션은 경로 탐색의 끝
> 명시적 조인을 통해 별칭을 얻어서 사용
: 경로 탐색은 주로 SELECT, WHERE 절에서 사용하지만,
묵시적 조인으로 인해 FROM (JOIN) 절에 영향이 미침
※ 묵시적 조인은, 조인이 일어나는 상황이 한눈에 파악하기 어렵다
※ 묵시적 조인이 아닌, 명시적 조인 사용 권장
-
명시적 JOIN
: JOIN 키워드를 직접 사용
> SELECT e FROM 엔티티 e JOIN e.연관관계객체 s
※ JPA에서의 쿼리 방법에 대해서는, 아래 포스팅을 참조 부탁드리겠습니다.
오늘은 JPA에서 JPQL의 경로 표현식 에 대해서 알아보았습니다.
그럼 오늘도 즐거운 하루 되시길 바라겠습니다.
'프로그래밍 > Back-end' 카테고리의 다른 글
자바 AWS SNS ( Amazon Simple Notification Service ) ! 아마존 문자 서비스 구현 ! (0) | 2024.10.25 |
---|---|
자바 AWS SES ( Amazon Simple Email Service ) 아마존 이메일 서비스 구현 ! (0) | 2024.10.25 |
JPA 쿼리 JPQL 벌크 연산 (0) | 2024.10.24 |
JPA 쿼리 패치 조인 JPQL FETCH JOIN (0) | 2024.10.24 |
JPA JPQL 타입 표현식과 기타식 그리고 조건식과 기본 함수 (0) | 2024.10.18 |
JPA 쿼리 JPQL 페이징 조인 서브쿼리 (0) | 2024.10.18 |
JPA QueryDSL 네이티브SQL JDBC MyBatis (0) | 2024.10.18 |
JPA 지연로딩 즉시로딩 (0) | 2024.10.17 |