@OneToMany — one entity has many related. @ManyToOne — many entities reference one.
@OneToMany:
1@Entity2public class User {3 @Id4 private Long id;56 @OneToMany(mappedBy = "user", cascade = CascadeType.ALL)7 private List<Order> orders;8}
@ManyToOne:
1@Entity2public class Order {3 @Id4 private Long id;56 @ManyToOne7 @JoinColumn(name = "user_id")8 private User user;9}
How it works:
Bidirectional:
N+1 problem:
Best practice: