연관관계
일대일, 일대다, 다대다의 연관관계
public class Post extends Timestamped {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String content;
@ManyToOne
@JoinColumn(name = "user_id", nullable = false)
private User user;
}
public class User extends Timestamped {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true, nullable = false)
private String username;
@Column(nullable = false)
private String password;
@Column(nullable = false)
@Enumerated(value = EnumType.STRING)
private UserRoleEnum role;
@OneToMany(mappedBy = "user", fetch = LAZY)
List<Post> postList;
}
양방향 연관관계에서는 주인을 지정해줘야하고 주인을 지정할때는 mappedBy로 주인이 누구인지 지정해준다.
@OneToOne, @OneToMany, @ManyToOne, @ManyToMany