JVM/JPA

@MapsId

kyoulho 2023. 6. 18. 15:19

일대일 식별 관계에서 부모의 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