강의

멘토링

로드맵

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

코린코린님의 프로필 이미지
코린코린

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

다대일 [N:1]

@ManyToOne 어노테이션이 정확히 어떤 의미인지 알려주세요!

작성

·

360

1

안녕하세요!

항상 좋은 답변 감사드립니다.

 

강의를 복습하다가, 헷갈리는 부분이 있어 여쭤보고자 글을 작성했습니다.

@Entity
public class Member {

@Id @GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;

@Column(name = "USER_NAME")
private String userName;

@ManyToOne
@JoinColumn(name = "TEAM_ID")
private Team team;

위와 같은 코드가 있습니다.

위 코드에서 @ManyToOne의 역할이 너무너무 헷갈려서 문의드리게 되었습니다.

@ManyToOne은 아래 내용 중 어떤 것에 해당하는 것인지 알려주실 수 있으실까요?

1. DB 테이블에서 MEMBER와 TEAM의 관계가 다대일인 것을 명시해준 것이다.

2. MEMBER 객체와 TEAM 객체가 MEMBER 기준으로 다대일 관계인 것을 명시해준 것이다.

제 개인적인 생각으로는 1번일 가능성이 더 높은 것 같습니다만... 정확한 내용이 찾아봐도 잘 나오지 않아... 알려주시면 너무 감사드리겠습니다! 

 

 

퀴즈

양방향 연관관계 매핑 시, 데이터베이스 외래 키를 주로 관리하는 쪽은 어느 쪽일까요?

연관관계 주인

연관관계 주인이 아닌 쪽

N에 해당하는 쪽

1에 해당하는 쪽

답변 1

1

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

.
@ManyToOne은 데이터베이스와 객체를 맵핑하기 위해 사용하는 애노테이션입니다.

이해하신대로 테이블에서 Member가 N, Team이 1인 것임을 알려주는 동시에 Member 테이블의 외래키(Member.TEAM_ID)와 Member 객체의 Team을 맵핑하는 역할을 합니다.

.
감사합니다.

코린코린님의 프로필 이미지
코린코린

작성한 질문수

질문하기