실전 예제 3 - 다양한 연관관계 매핑

2022. 12. 26. 16:05·BackEnd/자바 ORM 표준 JPA 프로그래밍

실전 예제 2에서 했던 내용에 배송과 카테고리를 추가하고 다양한 연관관계 매핑을 추가한다.

다대다는 사용하지 않지만 예제이므로 사용한다고 한다.

 

Delivery

package jpabook.jpashop.domain;

import javax.persistence.*;

@Entity
public class Delivery {

    @Id @GeneratedValue
    private int Id;

    @OneToOne(mappedBy = "delivery")
    private Order order;

    private String city;
    private String zipCode;

    @Enumerated(EnumType.STRING)
    private DeliveryStatus status;
}

///// Order에 추가
    @OneToOne
    @JoinColumn(name = "DELIVERY_ID")
    private Delivery delivery;

order와 delivery가 1대1 관계이다. 그러므로 Order에 delivery과 외래키이므로 주인은 Order 부분이다.

 

Cateogry

package jpabook.jpashop.domain;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;

@Entity
public class Category {

    @Id
    @GeneratedValue
    private Long Id;

    private String name;

	//연관 테이블을 만들어 준다.
    @ManyToMany
    @JoinTable(name = "CATEGORY_ITEM",
            joinColumns = @JoinColumn(name = "CATEGORY_ID"),
            inverseJoinColumns = @JoinColumn(name = "ITEM_ID")
    )
    private List<Item> items = new ArrayList<>();
    @ManyToOne
    @JoinColumn(name = "PARENT_ID")
    private Category parent;

    @OneToMany(mappedBy = "parent")
    private List<Category> child = new ArrayList<>();

}

 

강의 출처 : https://www.inflearn.com/course/ORM-JPA-Basic

 

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

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

www.inflearn.com

 

'BackEnd > 자바 ORM 표준 JPA 프로그래밍' 카테고리의 다른 글

실전 예제 4 - 상속관계 매핑  (0) 2022.12.27
JPA 고급 매핑  (0) 2022.12.26
JPA 다양한 연관관계 매핑  (0) 2022.12.26
JPA 실전 예제2 - 연관관계 매핑 시작  (0) 2022.12.23
JPA 양방향 연관관계  (0) 2022.12.23
'BackEnd/자바 ORM 표준 JPA 프로그래밍' 카테고리의 다른 글
  • 실전 예제 4 - 상속관계 매핑
  • JPA 고급 매핑
  • JPA 다양한 연관관계 매핑
  • JPA 실전 예제2 - 연관관계 매핑 시작
인프라 감자
인프라 감자
  • 인프라 감자
    삶은 인프라
    인프라 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (243)
      • 클라우드&인프라 (28)
        • 인프라 공부 (4)
        • AWS 구조와 서비스 (18)
        • 클라우드 공부 (4)
        • Terraform (2)
      • AWS Cloud School (13)
        • project (5)
        • Linux, Network (6)
        • Docker (2)
      • BackEnd (162)
        • JAVA 공부 (15)
        • 알고리즘 공부 (71)
        • MySQL 문제 풀기 (8)
        • 스프링 핵심 원리 - 기본편 (18)
        • 스프링 MVC 1편 (4)
        • 자바 ORM 표준 JPA 프로그래밍 (21)
        • 실전! 스프링 부트와 JPA 활용1 (8)
        • 실전! 스프링 부트와 JPA 활용2 (5)
        • 스프링 데이터 JPA (8)
        • Querydsl (4)
      • 혼자하는 프로젝트 (32)
        • 배달의 민족 클론코딩 (7)
        • 나만의 프로젝트 (10)
        • 스프링 부트로 구현한 웹 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Email
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    VPN
    스프링 핵심 원리-기본편
    디팬스 게임
    상속
    querydsl
    프로그래머스
    네트워크 기본 용어
    조합
    중첩 선언
    이것이 자바다
    linux
    다이나믹 프로그래밍
    백트래킹
    완전탐색
    정렬
    dp
    유니온 파인드
    자동 배포
    자바
    쿼드 압축
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
인프라 감자
실전 예제 3 - 다양한 연관관계 매핑
상단으로

티스토리툴바