웹에 태그 기능 만들기

최도혁·2023년 9월 12일
0

Spring

목록 보기
8/8

다대다(N:M) 사용하면 안되는 이유

@ManyToMany로 양방향(or 단방향) 매핑 되어있을 때 @JoinTable(name="새로운 테이블 명")을 통해
중간 테이블을 따로 만들어준다.

하지만 이런 방식은 필수적인 정보들 외에도 중간 테이블이 가져야하는 여러 가지 컬럼들이 있을 수 있고,
하이버네이트에 의해 생성된 중간 테이블은 관계 설정에 필수적으로 필요한 정보들만 담겨있을 뿐 이러한 비즈니스 로직상 필요한 정보들은 담기지 않기에 절대 사용하면 안된다고 들었다.

따라서 다대다 관계를 사용하고 싶은 경우라면 중간 테이블에 대한 클래스를 직접 만들어서
@ManyToOne과 @OneToMany의 조합을 만들어 사용해야 한다.

profile
백엔드 개발자 지망생

0개의 댓글