다중성
방향성
단방향 : 한쪽방향으로
양방향 : 상호참조
단방향 매핑만으로 연관관계 매핑은 이미 완료
단방향 매핑에 비해 양방향 매핑은 복잡하고 객체에서 양쪽 방향을 모두 관리해 줘야 함
-> 반대방향으로의 객체 그래프 탐색 기능만 추가 됨
<반대 객체 그래프 탐색이 필요할 때 양방향을 사용>
영속성 전의 (persistence cascade)
Entity의 영속성 상태 변화를 연관된 Entity에도 함께 적용하는 것
연관관계 엔티티들도 저장되고 수정이 됨
추가로 업데이트 쿼리가 발생함
일대다 연속성 전이하는 경우, 추가적으로 업데이트 쿼리가 발생하는 문제
오히려 일대다 양방향 관계로 변경하기
양방향 -> 주인을 설정하는 것이 좋음
외래키
기본키를 외래키로 쓰는 경우@MapsId를 써서 이쪽이 연관관계 주인이라고 알림
반대쪽 -> 조인컬럼 x, mappedBy 주인이 저거다 알려줘야 됨
로딩
다른 엔티티 가져오는
즉시 : eager
참조가 이루어 졌을 때 사용 : lazy
ToOne : EAGER
ToMany : LAZY
시점의 차이 뿐이지 / 여러개의 코드를 가져오는 경우 참조를 하면
추가적인 쿼리가 수행 됨
수행된 다음에 각각에 대해서 연관관계 설정이 발생
패치조인 : 페이지네이션
페이지 내에 어느정도 가져오는지 알수 없음 / 모든 레코드가 가져오는 것이 되게 되는 경우도 있음
LIST를 SET으로 병경, @OrderColumn
Repository
중재
매서드 자동 제공
페이즈인터페이스가 슬라이스 인터페이스를 상속받고잇음
엔터티가 반환됨
타겟 : 멤버디테일 엔티티가 get 타입으로 메소드를 할 수 잇다?
일대다(1:N) 단방향 연관관계 매핑에서 영속성 전이(cascade)를 사용할 경우 양방향으로 변경
'공부 > 메모' 카테고리의 다른 글
예외처리를 알아보자 - 2 (0) | 2022.04.20 |
---|---|
예외 처리를 알아보자 - 1 (0) | 2022.04.20 |
JPA의 @Enumerated을 알아보자 - 2 (0) | 2022.04.16 |
JPA 지연 로딩과 즉시 로딩 (0) | 2022.04.16 |
JPA의 @Enumerated를 알아보자 - 1 (0) | 2022.04.16 |