
✔ 깃허브 소스코드
✔ 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<>();