작성
·
941
0
mappedBy 자체가 외래키가 되지 않고, 연관관계의 주인이 아닌 것을 뜻한다고 이해하고 있습니다.
(등록, 수정, 삭제가 아닌 읽기만 가능.)
근데 여기서 궁금한 게 있습니다.
public class Member{
(중략)
@OneToMany(mappedBy="member")
private List<Order> orders = new ArrayList<>();
}
여기서 mappedBy="member"라고 설정하셨는데
이름 같은건 보통 별도의 규칙없이 마음데로 써도 괜찮은건가요?
Item 객체에서 mappedBy="items"라 써서 궁금해서 물어봅니다.
mappedBy 뒤에 이름을 적는 게 무슨 의미인지 궁금합니다.
member가 아닌 members로 써도 상관이 없는건가요?
답변 1
2
안녕하세요. kr즈아님, 공식 서포터즈 OMG입니다.
mappedBy에는 반대 방향의 필드 이름이 와야 합니다. 가령 아래와 같은 코드가 있을 때 하이라이트 한 표시의 이름이 서로 같아야 됩니다.
@Entity
@Table(name="team")
public class Team {
@Id
@Column(name="team_id")
private long id;
@OneToMany(mappedBy="team")
private List<Member> members;
}
@Entity
@Table(name="member")
public class Member {
@Id
@Column(name="member_id")
private long id;
@ManyToOne
@JoinColumn(name="team_id")
private Team team;
}
감사합니다.
감사합니다