티스토리 뷰

반응형

인프런 김영한 T의

실전! 스프링 부트와 JPA 활용1 강의를 들으며

연관관계 매핑 과정에 대해 정리한다.

 

erd 설계 후 엔티티 매핑 과정시에 내가 참고할 용도로 제작하였다.

독자들도 erd 설계 후 이 방식에 맞춰

엔티티 클래스를 개발하면 될 것 같다.

 

바로 들어가보자. 

 



📌 @--ToMany

        ✔ (mappedBy = "") 적용

        ✔ 예시

@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<>();

 

📌 @--ToOne

         (fetch = LAZY) 적용

        ✔ @JoinColumn(name="") 적용

        ✔ 예시

 

@OneToOne(fetch = LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="delivery_id")
private Delivery delivery; // 배송정보

 

 


📌 상속관계 매핑

객체는 상속을 지원하지만 DB는 상속을 지원하지 않으므로 논리 모델을 물리 모델로 구현할 방법이 있어야 한다.

이때 사용하는 방법이 다음과 같다.

@Inheritance(strategy=InheritanceType.---)
// ---는 JOINED, SINGLE_TABLE, TABLE_PER_CLASS로 세 종류가 있음.

default는 single_table(단일 테이블 전략)이다.

 

        ✔ @DiscriminatorColumn(name = "DTYPE")

  •     부모 클래스에 선언한다.
  •     하위 클래스들을 구분할 때 사용된다. (보통 default로 DTYPE을 많이 사용한다.)

 

📌 마지막으로 참고하면 좋을 것

필자의 블로그 이전 포스팅인데 @Enumerated에 대한 설명을 참고하면 도움될 것이다.


 

앞으로 엔티티 클래스 개발시에 꼭

이 포스팅을 참고해 개발하려고 한다

 

다들 오늘도 열공하자. 🔥

반응형