일대일 식별 관계에서 부모의 PK를 자식의 PK로 사용할 때 사용된다.
@MapsId 는 FK와 매핑한 연관관계를 PK 에도 매핑하겠다는 뜻이다.
예제 코드
@Entity
public class Board {
@Id
@GeneratedValue
@Column(name = "BOARD_ID")
private Long id;
private String title;
@OneToOne(mappedBy = "board")
private BoardDetail boardDetail;
}
@Entity
public class BoardDetail {
@Id
private Long boardId;
@MapsId // BoardDetail.boardId 매핑
@OneToOne
@JoinColumn(name = "BOARD_ID")
private Board board;
private String content;
}
728x90
'JVM > JPA' 카테고리의 다른 글
@SecondaryTable, @SecondaryTables (1) | 2023.06.19 |
---|---|
@JoinTable (0) | 2023.06.19 |
@MappedSuperclass (0) | 2023.06.17 |
상속 관계 매핑 (슈퍼-서브 타입 모델링) (0) | 2023.06.17 |
복합키 매핑 @IdClass, @EmbeddedId (0) | 2023.06.16 |