✔ 깃허브 소스코드
✔ Udemy 강의영상
FetchType
은 Eager
로 설정되어 있음mappedBy = {변수명}
을 설정해주면 됨Student 클래스
@OneToOne(fetch = FetchType.LAZY)
private Passport passport;
Passport 클래스
@OneToOne(fetch = FetchType.LAZY, mappedBy = "passport")
private Student student;
@ManyToOne
의 FetchType
은 Eager
로 설정되어 있음@OneToMany
의 FetchType
은 Lazy
로 설정되어 있음@ManyToOne
쪽에 설정, 즉 mappedBy = {변수명}
는 @OneToMany
쪽에 설정Review 클래스
@ManyToOne(fetch = FetchType.LAZY)
private Course course;
Course 클래스
@OneToMany(mappedBy = "course")
private List<Review> reviews = new ArrayList<>();
@ManyToMany
의 FetchType
은 Lazy
로 설정되어 있음JoinTable
을 생성해줌@JoinTable
은 연관관계의 주인 쪽에 설정joinColumns
는 주인 쪽의 주키 설정inverseJoinColumns
는 주인이 아닌 쪽의 주키 설정Student 클래스(연관관계 주인)
@ManyToMany
@JoinTable(
name = "STUDENT_COURSE",
joinColumns = @JoinColumn(name = "STUDENT_ID"),
inverseJoinColumns = @JoinColumn(name = "COURSE_ID")
)
private List<Course> courses = new ArrayList<>();
Course 클래스
@ManyToMany(mappedBy = "courses")
private List<Student> students = new ArrayList<>();