250x250
Notice
Recent Posts
Recent Comments
Link
관심쟁이 영호
[#7.3] Spring Boot ㅣ 스프링 부트 ㅣ Entity Class 개발3 본문
반응형
이제 카테고리 엔티티 클래스를 작성할 차례이다.
1. 카테고리 작성
@Entity
@Getter
@Setter
public class Category {
@Id @GeneratedValue
@Column(name = "category_id")
private Long id;
private String name;
@ManyToMany
@JoinTable(name = "category_item",// 다대다 관계에서는 중간 테이블을 통해서 매칭시켜주어야한다.
joinColumns = @JoinColumn(name = "category_id"), //중간 테이블에 있는 아이템
inverseJoinColumns = @JoinColumn(name = "item_id")) // 거기에 있는 item으로 들어가는 것
private List<Item> items = new ArrayList<>();
@ManyToOne
@JoinColumn(name = "parent_id")
private Category parent;
@OneToMany(mappedBy = "parent")
private List<Category> child = new ArrayList<>();
}
- 카테고리는 item과 다대다 관계에 있다. 그래서 중간 테이블로 매칭을 시켜주어야 하는데, 그 방법은 먼저 Table로 join을 해주고, 거기서 category id를 찾아간다음 item에 접근해야 한다.
- 그리고 부모 자식관계를 위해서 자기 자식을 적어둔다. 트리 구조 같다.
2. 이제 실행해주고 생성되는지 확인해본다. (약간의 코드 수정이 있었음, extends, mappedby 빼먹은거 작성)
- JPA가 대신해서 쿼리문을 작성해준것을 볼 수 있다.
- 성공적으로 DB를 작성하였다.
해당 강의는 인프런의 "김영한" 개발자님의 강의 정리했습니다.
300x250
'Bank-End > 인프런- Spring 공부' 카테고리의 다른 글
[#8] SpringBoot ㅣ 스프링 부트 ㅣ어플리케이션 아키텍쳐 (0) | 2021.04.10 |
---|---|
[#7.4] Spring Boot ㅣ 스프링 부트 ㅣ 작성한 Entity Class 점검, 기타 내용 (0) | 2021.04.09 |
[#7.1] Spring Boot ㅣ 스프링 부트 ㅣ Entity Class 개발 (0) | 2021.04.06 |
[#6] Spring Boot ㅣ 스프링 부트 ㅣ 도메인 모델과 테이블 설계 (0) | 2021.04.05 |
[#5] Spring Boot ㅣ 스프링 부트 ㅣ개발 요구사항 분석 ㅣ 개발 시작 (0) | 2021.04.01 |
Comments