이럴때는 ManyToMany 관계 매핑을 사용해도 문제가 없지 않을까요?
Member 클래스와 Role 클래스가 있습니다.
Member 클래스에는 Role 들을 담아두는 컬렉션 필드 List<Role> roles 가 있고
Role 클래스는 @id roleId, roleName 프로퍼티만 가지고 있습니다.
이 두 클래스의 관계를 매핑하기 위해서
Member 클래스에 List<Role> roles 프로퍼티의 매핑정보를 아래처럼 했습니다.
@ManyToMany
@JoinTable(name = "ROLE_MAP",
joinColumns = @JoinColumn(name = "MEMBER_ID"),
inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
private List<Role> roles;
이렇게 하면 일단 동작은 잘 됩니다.
강사님께서 강의중에 매핑 테이블이 단순하게 유지되는 일은 거의 없기 때문에 매핑 테이블을
엔티티로 승격을 시켜서 ManyToOne, OneToMany 로 하는 것이 낫다고 하셨습니다.
그런데 만약 Master Code 테이블처럼 별도의 비즈니스 로직을 가지고 있지 않고
Member 엔티티에서 값 처럼 사용하고 있을 때는 ManyToMany로 해도 크게 문제가 없을 것 같은데
강사님 의견이 궁금합니다!!
질문의 요지가 잘 전달이 되었는지 잘 모르겠습니다. ㅠ
답변 1
1
안녕하세요^^ jungjin님
질문의 요지가 잘 전달되었습니다^^!
이런 경우 크게 문제될 것은 없습니다.
다만 실무에서는 ROLE_MAP에 단순히 매핑 정보만 들어가는 것이 아니라, ROLE_MAP에 데이터가 등록된 시간과 같은 추가 데이터를 넣어야 하는데, 이런 것이 어렵다는 단점이 있습니다.
그 외에도 강의에서 전달해드린데로, 성능최적화 등등... 막상 해보시면 장점보다는 단점이 많습니다.
그래서 제가 진행했던 실무 프로젝트에서는 사실상 금지했습니다 ㅎㅎ
감사합니다^^!
inheritance startegy 선택시 고려사항
0
3
0
Entity 동등성 비교
0
11
1
실무 조언 관련 질문입니다.
0
41
1
H2데이터베이스 파일 생성
0
51
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
48
1
JPQL 메소드와 락
0
52
1
Delivery @OneToOne
0
57
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
89
2
UnsupportedOperationException 발생
0
82
3
H2 Database 연결이 안됩니다.
0
89
2
연관관계 매핑 질문드립니다.
0
82
2
h2데이터베이스 실행오류
0
105
2
persistence.xml
0
103
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
77
1
영속성 컨텍스트
0
62
1
JPA 프록시
0
90
1
Native Query와 MyBatis
0
63
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
83
1
임베디드 타입 예시 코드 관련 질문
0
112
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
91
3
인텔리제이 패키지 커서 단축키 질문
0
106
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
136
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
68
1





