티스토리 뷰
반응형
인프런 김영한 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에 대한 설명을 참고하면 도움될 것이다.
앞으로 엔티티 클래스 개발시에 꼭
이 포스팅을 참고해 개발하려고 한다
다들 오늘도 열공하자. 🔥
반응형
'프로그래밍 > JPA' 카테고리의 다른 글
[JPA] SQL 중심적인 개발의 문제점과 JPA를 사용해야 하는 이유 (0) | 2022.06.17 |
---|---|
[JPA] 병합 감지와 병합(merge) (0) | 2022.06.14 |
[JPA] @Enumerated란 무엇이며 어떻게 사용할까? 🤔 (0) | 2022.06.09 |
[JPA] @Embedded , @Embeddable란 무엇이며 언제 사용할까? 🤔 (0) | 2022.06.08 |
[JPA] 엔티티 설계시 주의할 점 (0) | 2022.06.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발자
- JPA
- 해커랭크 자바 챌린지
- 강의
- 자바
- hackerrank
- 해커랭크 자바
- 그리디
- LinkedList
- 소스코드
- 22 정보처리산업기사
- 정보처리산업기사
- 디버깅
- 자바의 정석
- 해커랭크 챌린지
- queue
- 정보처리산업기사 공부법
- Java
- 해커랭크
- 정보처리 산업기사
- 챌린지
- stack
- challenges
- 백준
- 22 정보처리 산업기사
- ORM
- 풀이
- hackerrank challenges
- BAEKJOON
- 코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함