Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 이스케이프 문자
- JSON
- datastructure
- s
- stream
- 알기쉬운 알고리즘
- C programming
- 이것이 자바다
- 윤성우의 열혈 자료구조
- R
- buffer
- 혼자 공부하는 C언어
- Stack
- Selection Sorting
- insertion sort
- Algorithm
- 메모리구조
- 윤성우 열혈자료구조
- Graph
- coding test
- Serialization
- C 언어 코딩 도장
- list 컬렉션
- ㅅ
Archives
- Today
- Total
Engineering Note
[JPA] QueryDsl의 join문법과 연관관계 엔티티 join에서 on절이 필요 없는 이유 본문
Server
[JPA] QueryDsl의 join문법과 연관관계 엔티티 join에서 on절이 필요 없는 이유
Software Engineer Kim 2026. 1. 15. 08:30
Join 문법 살펴보기
.selectFrom(itemCategory)
.join(itemCategory.item, item)
selectFrom
- select().from을 축약해서 사용하는 문법
@Override
public <T> JPAQuery<T> selectFrom(EntityPath<T> from) {
return select(from).from(from);
}
join(A, B)
- 첫 번째 파라미터는 selectFrom 절의 객체와 join할 객체가 무엇인지를 명시해주는 파라미터
- 두 번째 파라미터는 첫 번째 파라미터의 별칭(alias)
- 별칭은 where절에서 별칭을 통해 필드 조건을 적용할 때 사용할 수 있다.
@Override
public <P> Q join(EntityPath<P> target, Path<P> alias) {
return queryMixin.join(target, alias);
}
연관관계 엔티티 join에서 on절이 필요 없는 이유
연관관계가 있는 Entity간의 join은 SQL 처럼 on 절이 필요없는데, 그 이유는 이미 Entity 클래스를 선언할 때 Entity 간 연관관계를 맺어주었고, JPA에서 Entity가 영속화되는 순간 영속성 컨텍스트에 PK를 키값으로 특정 Entity가 영속화되기 때문에 연결할 Entity만 명시해주면, on절을 통해 어떤 PK 참조, 기준으로 연결할 지를 지정해주지 않아도 된다.
'Server' 카테고리의 다른 글
| [Server] Query Parameter (0) | 2026.01.18 |
|---|---|
| [Server] 낙관적 락(Optimistic Lock) (0) | 2026.01.17 |
| [Server] @NotNull, @NotEmpty, @NotBlank차이 (Spring Validation) (0) | 2026.01.13 |
| [Server] 고가용성(High Availability)이란? (0) | 2026.01.02 |
| [Server] 데이터베이스 커넥션풀 (0) | 2025.12.27 |
Comments