연관관계 매핑

성민·2023년 2월 8일
0

스프링 공부

목록 보기
2/15

연관관계
일대일, 일대다, 다대다의 연관관계

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

0개의 댓글