하나의 엔티티에 필드를 여러 테이블에 나누어 매핑할 때 사용한다.
테이블당 엔티티를 각각 만들어서 일대일 매핑하는 것을 권장한다.
이 방법은 항상 두 테이블을 조회하므로 최적화하기 어렵다.
@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")
})
728x90
'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 |