Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- django settings.py
- 2661 java
- django 웹 페이지
- 2643 java
- django httpd error
- 18233 java
- 1188 java
- Problems occurred while performing provisioning operation
- django apache deploy error
- 18233 러버덕
- django windows 배포 에러
- 2643 색종이 올려 놓기
- 원격 연결 포트 포워딩
- 18233 비트마스킹
- 14711 java
- java di
- 2661 좋은 수열
- 14711 타일 뒤집기
- windows 원격 연결 설정
- 2961 java
- 공유기 원격 설정
- apache pythonpath
- APPEND_SLASH = FALSE
- The requested operation has failed!
- django
- django The requested operation has failed!
- 2961 도영이가 만든 맛있는 음식
- django 프로젝트 시작
- 1188 음식 평론가
- windows apache wsgi 에러
Archives
라이브러리는 도서관 아닌가요
양방향 연결 관계 mappedBy 속성 본문
두 객체가 양방향 연결 관계일 때는 mappedBy 속성을 사용한다.
자주 쓰이는 다대일 양방향 매핑을 예로 들어보자.
먼저 다대일 관계는 다(多)에 외래키가 있다.
즉 외래키를 가지는 연관관계의 주인은 다(多) 방향이 된다.
다 방향에는 당연히 @ManyToOne이, 일(一) 방향에는 당연히 @OneToMany가 선언되어 있다.
마지막으로 mappedBy는 주인이 아닌 쪽에서 사용 된다.
따라서 mappedBy는 @OneToMany의 속성으로 사용된다는 것을 알 수 있다.
@Entity
public class Member{
// ~ 이전 내용 ~
@ManyToOne
@JoinColumn(name="TEAM_ID")
private Team team;
// ~ 다음 내용 ~
}
@Entity
public class Team{
// ~ 이전 내용 ~
@OneToMany(mappedBy = "team")
@JoinColumn(name="TEAM_ID")
private Team team;
// ~ 다음 내용 ~
}
즉 위에서는 다(多) 측인 Member가 Team의 외래키 필드를 갖게 된다고 할 수 있다.
이것이 왜 필요한지에 대해 간단히 요약하면,
객체 간의 양방향 참조에 유용하게 사용될 수 있기 때문이다.
'Java > JPA' 카테고리의 다른 글
JPA @EmbeddedId 사용할 때 복합키는 equals(), hashCode()를 구현 (0) | 2022.01.26 |
---|---|
JPA 다대다를 다대일, 일대다로 풀어야 하는 이유 (0) | 2022.01.19 |
Comments