<aside> 1️⃣ 엔티티의 연관관계 매핑이란?
</aside>
@OneToOne
: 일대일 관계를 매핑한다. 양방향 매핑이 가능하며, 대상 엔티티와 매핑할 때는 @JoinColumn
어노테이션을 사용한다.@OneToMany
: 일대다 관계를 매핑한다. 단방향 매핑 또는 양방향 매핑으로 설정할 수 있다. 대상 엔티티에는 @ManyToOne
어노테이션을 사용하여 매핑한다.@ManyToOne
: 다대일 관계를 매핑한다. 대상 엔티티와 매핑할 때는 @JoinColumn
어노테이션을 사용한다.@ManyToMany
: 다대다 관계를 매핑한다. 양방향 매핑이 가능하며, 연결 테이블을 사용하여 매핑한다.<aside> 2️⃣ 연관관계 매핑 예시
</aside>
Author
엔티티와 Book
엔티티 간의 일대다 관계를 매핑하는 예시이다:@Entity
public class Author {
@Id
private Long id;
private String name;
@OneToMany(mappedBy = "author")
private List<Book> books;
// Getters, Setters, Constructors ...
}
@Entity
public class Book {
@Id
private Long id;
private String title;
@ManyToOne
@JoinColumn(name = "author_id")
private Author author;
// Getters, Setters, Constructors ...
}
Author
엔티티는 @OneToMany
어노테이션을 사용하여 books
필드와 Book
엔티티 간의 일대다 관계를 매핑하였다. Book
엔티티는 @ManyToOne
어노테이션과 @JoinColumn
어노테이션을 사용하여 author
필드와 Author
엔티티 간의 다대일 관계를 매핑하였다.