728x90
반응형
jpa 외래키 연관관계 맵핑 주인은 외래키가 존재하는 곳으로 설정
외래키 연관관계 맵핑 주인은 외래키가 있는 곳으로 설정
- 회원과 주문을 기준으로 1명의 회원은 여러 번의 주문을 할 수 있음. 일대다 관계임.
- 주문 테이블에 FK 가 있을것이고, 이 것을 연관관계 맵핑 주인으로 설정하는 것이 기본 원칙
- 만약 반대로 맵핑 주인을 설정한다면 주문 테이블에 위해 회원 테이블이 변경될 수 있기에 여러 번 호출. 이는 성능 문제를 발생시킴.
- 주문 테이블에 맵핑 주인이 있으면 1번만 호출하면 전부 변경할 수 있는데.
- 주인인 쪽은 읽기,쓰기가 가능하고. 주인이 아닌 쪽은 읽기만 가능. 회원은 읽기만. 주문은 읽기, 쓰기 가
- 소스로 설명하면 다음과 같음.
// 회원 테이블, 주문 테이블이 있음.
// 둘은 일대다 관계이고.
// 주문 테이블에 FK 가 있으므로, 회원 class 가서 mappedBy 를 설정해줌.
// 이 mappedBy 를 설정해주는건 다음과 같음. 주문 테이블을 기준으로 FK 를 바꿔라.
@Entity
public class Orders {
@Id
private Long id;
@ManyToOne
@JoinColumn(name = "member_id")
private Member member;
}
@Entity
public class Member {
@Id
@Column(name = "member_id")
private Long id;
@OneToMany(mappedBy = "member") // 이 때, 주의할점은 Orders 클래스의 Member 변수명을 적어줘야 함.
private List<Orders> orders = new ArrayList<>();
}
'Jpa' 카테고리의 다른 글
JPA ENUMERATED 사용법 정리 (0) | 2020.12.31 |
---|---|
jpa embedded, cascade 정리 (0) | 2020.12.27 |
spring data jpa querydsl property not found 에러 (0) | 2020.12.04 |
jpa nativeQuery 로 오라클 시퀀스 호출 (0) | 2020.12.01 |
spring data jpa pk 없이 조회하는법 (0) | 2020.11.26 |
댓글