본문 바로가기
DBMS

JPA 연관관계에 대한 추가적인 기능들

by CodeMango 2023. 6. 26.

1:1관계

사람과 주소는 1:1 관계입니다.

 

 

 

예시)person이 address id를 가지고 있다고 가정하겠습니다.

두 테이블 중에서 주도권을 가지고 있는 테이블은 person입니다.

즉, person이 연관관계의 주인입니다!

이때, 연관관계를 알려주는 방법은 연관관계의 주인이 아닌 쪽에 (mappedBy = "주인")을 붙여주는 것입니다.

 

이 연관관계 주인 효과는 바로 객체가 연결되는 기준이 된다는 것입니다!

 

PersonService

PersonController

 

테스트해보기

 

 

 

다시 한번 정리해보면

 

 

 

왜냐하면 address가 연관관계의 주인이 아니기 때문입니다

 

 

 

setter로 해결하는 방법

 

 

 

N:1관계 : 연관관계의 주인이 N이 됩니다.

 

 

@JoinColumn 

 

@ManyToMany : N:M관계

 

 

CASCADE : A개체를 변경/삭제할때, A개체를 참조하고 있는 모든 개체들이 변경/삭제된다.

 

 

 

orphanRemoval 

 

 

'DBMS' 카테고리의 다른 글

MySQL타입  (0) 2023.05.29
SQL, RDB  (0) 2023.05.29
[sql] 페이징 기능 - LIMIT 함수  (0) 2023.03.10
[sql] parameter (파라미터) 와 argument  (0) 2023.02.21
[SQL] SET과 UPDATE  (0) 2023.02.15

댓글