@ManyToMany — many-to-many. @OneToMany — one-to-many.
@ManyToMany:
1@Entity2public class Student {3 @Id4 private Long id;56 @ManyToMany7 @JoinTable(8 name = "student_course",9 joinColumns = @JoinColumn(name = "student_id"),10 inverseJoinColumns = @JoinColumn(name = "course_id")11 )12 private Set<Course> courses;13}
@OneToMany:
1@Entity2public class User {3 @Id4 private Long id;56 @OneToMany(mappedBy = "user")7 private List<Order> orders;8}
How it works:
Key difference:
Best practice: