JPA

1:1매핑

jojelly 2022. 3. 17. 22:26
반응형

1:1매핑은 다대일 단방향 매핑과 유사하다.

 

다대일 양방향 매핑 처럼 외래 키가 있는 곳이 연관관계의 주인이되고

반대편은 mappedBy 적용한다. 

 

 

기본적으로 

주 객체가 대상 객체의 참조를 가지는 것 처럼 주 테이블에 외래 키를 두고 대상 테이블을 찾ㄴ,ㄴ디/

 

장점: 주 테이블만 조회해도 대상 테이블에 데이터가 있는지 확인 가능 

단점: 값이 없으면 외래 키에 null 허용 

 

 

아래처럼 교차하여 구성하는건 추천되지 않는다. 

프록시 기능의 한계로 지연 로딩으로 설정해도 항상 즉시 로딩되기 때문이다. 

 

 

 

추가적으로 다대다 매핑은 실무에서 사용하지 않는편으로 중간에 새로운 테이블을 두어 두개의 일대 다를 만드는것이 안전하다.

 

왜냐하면 연결 테이블이 단순히 연결만 하고 끝나지 않으며 주문시간, 수량 같은 데이터가 들어올 수 있기 때문이다. 

 

때문에 아래와 같이 중간에 테이블과 객체를 하나더 만드는 식으로 하는게 좋다. 

반응형

'JPA' 카테고리의 다른 글

JPA - 복합키와 식별 관계 맵핑  (1) 2023.05.29
@MappedSuperclass  (0) 2022.04.08
양방향 매핑  (0) 2022.03.16
[JPA] 매핑 어노테이션 정리 [column,Temporal, Enumerated, Lob, Transient]  (0) 2022.03.13
JPA @Entity @Table @Column  (0) 2022.03.12