더보기
@OneToOne
:: 1 대 1 관계를 맺어주는 역할
단방향 관계
- 먼저 외래키 (FK)를 정해야 한다
1 대 1 관계에서는 외래 키의 주인을 직접 정해야함
※ 외래 키 주인만이 외래 키를 등록, 수정 , 삭제 할 수 있으며 주인이 아닌 쪽은 오직 외래키를 읽기만 가능
@JoinColumn()
:: 외래키의 주인이 활용하는 애너테이션
ex) 컬럼명, null여부, unique 여부 등 지정 가능
● 고객 Entity가 외래 키의 주인인 경우 (단방향)
양방향 관계
- 양방향 관계에서는 외래 키의 주인을 지정해 줄때 mappedBy 옵션을 사용
- mappedBy의 속성값은 외래 키의 주인인 상대 Entity 필드명을 의미
- 양방향에서는 외래 키의 주인은 상대 Entity 타입의 필드를 가지면서 @JoinColumn()을 활용해서
외래키의 속성을 설정 - 여기서 상대 entity는 외래키의 주인 entity 타입의 필드를 가지면서 mappedBy옵션을 사용하여 속성값으로
외래키의 주인 entity에 선언된 @JoinColoumn()으로 설정되고 있는 필드명을 넣어준다. - 양방향 관계에서는 mappedBy옵션을 생략하면 안됨 (이유 : JPA가 주인을 못찾음)
- ※ 주인entity 에서는 @JoinColumn() 에너테이션 생략이 가능
ㄴ 1 대 N관계에서 주인 entity가 @JoinColumn 생략하게 되면 중간 테이블을 생성함
'TIL' 카테고리의 다른 글
+34 Spring N 대 M관계 (0) | 2023.07.22 |
---|---|
+33 Spring 1대N 연관관계 (0) | 2023.07.20 |
+31 Entity 연관 관계 (0) | 2023.07.17 |
+30 Naver Open API (0) | 2023.07.17 |
+29 RestTemplate의 exchange (0) | 2023.07.14 |