[JPA] JPQL 쿼리 설명
반응형
String jpql = "SELECT o FROM Order o JOIN o.customer c ON o.customer_id = c.id"
이 쿼리에서 Order 테이블과 Customer 테이블을 조인할 때 사용되는 컬럼은 Order 테이블의 customer_id 컬럼과 Customer 테이블의 id 컬럼이다.
조인 관계
Order 테이블 Customer 테이블
| id | order_date | total_amount | customer_id | JOIN | id | name | email | phone |
|----|------------|--------------|-------------| ON |----|------|-------|-------|
| 1 | 2023-01-01 | 10000 | 101 | <--> | 101| John | john@example.com | 123-4567 |
| 2 | 2023-01-02 | 20000 | 102 | | 102| Jane | jane@example.com | 234-5678
Order 테이블의 customer_id 컬럼과 Customer 테이블의 id 컬럼을 기준으로 조인하는 것을 알 수 있다. customer_id 값이 Customer 테이블의 id 값과 일치하는 레코드를 찾아서 조인한다는 의미다
해설) o.customer는 Order 엔티티에서 Customer 엔티티와 연관된 필드를 나타낸다
Order 엔티티에는 Customer 엔티티와의 연관 관계를 나타내는 필드가 있다. 이 필드는 보통 ManyToOne 어노테이션을 사용하여 매핑되며, 이는 여러 개의 Order가 하나의 Customer에 속할 수 있다는 것을 의미한다
반응형
'낙서장[1] > 3. JPA' 카테고리의 다른 글
[JPA] Spring Data JPA의 Pageable 인터페이스: 페이징과 정렬을 손쉽게 처리하기 (0) | 2025.01.24 |
---|---|
[JPA] 일반 JOIN과 FETCH JOIN을 지연 로딩(LAZY)과 즉시 로딩(EAGER)과 접목한 차이와 장단점 (0) | 2025.01.24 |
[JPA] 데이터베이스와 상호작용하는 객체 지향 프로그래밍 JPA 기초 (2) | 2025.01.24 |