@SecondaryTable을 이용한 밸류 매핑


예시

@Entity
@Table(name = "product")
@Where(clause = "del_date IS NULL")
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@SecondaryTables ({
    @SecondaryTable(name = "product_contents", pkJoinColumns = @PrimaryKeyJoinColumn(name = "pd_code")),
    @SecondaryTable(name = "product_stock", pkJoinColumns = @PrimaryKeyJoinColumn(name = "pd_code"))
})
public class Product {
	
		@EmbeddedId
    private ProductCode code;
	
		@AttributeOverride(name = "contents", column = @Column(table = "product_contents", name = "pdc_contents", length = 500, nullable = false))
    @Embedded
    private ProductContents contents;

    @AttributeOverrides({
        @AttributeOverride(name = "count", column = @Column(table = "product_stock", name = "pds_count")),
        @AttributeOverride(name = "active", column = @Column(table = "product_stock", name = "pds_active", columnDefinition = "enum"))
    })
    @Embedded
    private ProductStock stock;
	
}
@Embeddable
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class ProductContents {

    private String contents;

}

@Embeddable
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class ProductStock {

    private int count;

    @Enumerated(EnumType.STRING)
    private StockActiveType active;

}