@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;
}