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

bs k님의 프로필 이미지
bs k

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

Author Relation 생성하기

양방향 연관관계에 대해서

작성

·

93

0

JPA에서는 꼭 필요할 때만 양방향 연관관계를 맺으라고 권고하는 거 같던데 TypeORM은 오히려 양방향 연관관계를 지향하는 입장인 건가요?

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

양방향 관계란 어떤걸 말씀하시는걸까요?

OneToOne에서의 양방향 관계를 말씀하시는건가요 아니면 ManyToMany의 양방향을 말씀하시는걸까요?

아니면 서로의 ID를 각각 테이블이 갖고 있는 상황을 말씀하시는걸까요?

예제로 정확히 질문 주시면 최선을 다해 답변 드리도록 하겠습니다.

감사합니다!

bs k님의 프로필 이미지
bs k
질문자

OneToMany나 ManyToOne 일때

 

@OneToMany(() => PostModel, (post) => post.author)
@ManyToOne(() => UserModel, (user) => user.posts)

이렇게 양방향으로 연관관계를 맺는게 TypeORM에서는 필수적이고, 권장되는 방식인지 궁금합니다. JPA에서는 꼭 필요한 게 아니면 그냥 @OneToMany나 @ManyToOne 둘중 하나만 걸어놓는 게 좋다고 배워서요!

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

왜 둘중 하나만 걸어놓는게 좋다고 하는지는 잘 이해가 안갑니다.

OneToMany, ManyToOne은 한쪽 테이블에서만 관계를 들고있는 형태입니다. 이 예제에서는 Post에서 user_id 칼럼을 들고 있습니다.

즉, annotation을 한쪽에 두던 양쪽에 두던 어차피 데이터베이스에 미치는 영향은 없습니다.

"좋다"가 어떤 이유에서인지 말씀해주시면 좀 더 정확히 말씀드리도록 하겠습니다!

감사합니다!

bs k님의 프로필 이미지
bs k

작성한 질문수

질문하기