강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

anyeon123님의 프로필 이미지
anyeon123

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 설계시 주의점

연관관계 메서드 category클래스

작성

·

250

0

Category.class

@ManyToMany
@JoinTable(name = "category_item",
joinColumns = @JoinColumn(name = "category_id"),
inverseJoinColumns = @JoinColumn(name = "item_id"))
private List<Item> items = new ArrayList<>();

안녕하세요
왜 상기 필드에 대해서는 연관관계 메서드를 작성하지 않는지 궁금합니다.

답변 1

0

안녕하세요. anyeon123님, 공식 서포터즈 OMG입니다.

연관관계를 맺지 않아도 되는 상황(참조가 필요하지 않아 그렇게 설계된 경우 Ex) 단방향 )에는 연관관계를 맺지 않아도 될 것 같아요.

필수는 아니니까요.


감사합니다.

anyeon123님의 프로필 이미지
anyeon123
질문자

답변 감사합니다~
다만, Category클래스에  List<Item>이 필드로 있고, Item클래스도 List<Category> 를 필드로 가지고 있는데 이람 양방향이 아닌가요?ㅜ 

네 아이템과 카테고리는 다대다 양방향 연관관계가 맞습니다만,

이 연관관계를 추가한 이유는 다양한 연관관계를 보여드리기 위함이지 실제 사용하지는 않습니다.  DB를 확인해보면 아시겠지만 값이 저장되지는 않을거에요.

아래 카테고리 연관관계 편의 메서드를 작성하기는 했지만 사용하지는 않는 것처럼요.


//==연관관계 메서드==//
public void addChildCategory(Category child) {
this.child.add(child);
child.setParent(this);
}

 

anyeon123님의 프로필 이미지
anyeon123

작성한 질문수

질문하기