하나의 엔티티에 필드를 여러 테이블에 나누어 매핑할 때 사용한다.
테이블당 엔티티를 각각 만들어서 일대일 매핑하는 것을 권장한다.
이 방법은 항상 두 테이블을 조회하므로 최적화하기 어렵다.
@SecondaryTable
| 속성 | 기능 | 기본값 | |
| name | 매핑할 다른 테이블의 이름 | ||
| pkJoinColumns | 매핑할 다른 테이블의 기본 키 컬럼 속성 | ||
예제 코드
@Entity
@Table(name = "BOARD")
@SecondaryTable(name = "BOARD_DETAIL",
pkJoinColumns = @PrimaryKeyJoinColumn(name = "BOARD_DETAIL_ID"))
public class Board {
@Id
@GeneratedValue
@Column(name = "BOARD_ID")
private Long id;
private String title;
@Column(table = "BOARD_DETAIL")
private String content;
}
@SecondaryTables
@SecondaryTables({
@SecondaryTable(name = "BOARD_DETAIL"),
@SecondaryTAble(name = "BOARD_FILE")
})'JVM > JPA' 카테고리의 다른 글
| 영속성 전이, 고아 객체 (0) | 2023.06.23 |
|---|---|
| 즉시 로딩, 지연 로딩, 프록시 (0) | 2023.06.23 |
| @JoinTable (0) | 2023.06.19 |
| @MapsId (0) | 2023.06.18 |
| @MappedSuperclass (0) | 2023.06.17 |