多个@ElementCollection映射到同一个表的不同列

时间:2015-12-31 11:19:19

标签: java spring hibernate jpa

在我的POJO类中,我有3个相同的长度,没有空值的相关列表:

List<String> date;
List<String> priceA;
List<String> priceB;

我可以将它们映射到1个表而不是3个,这样我就可以有一行(class_id,date,priceA,priceB)吗?

1 个答案:

答案 0 :(得分:2)

只有当你愿意改变你的java模型时才能这样做:

@ElementCollection
@CollectionTable(name = "ITEM_DETAIL", joinColumns = @JoinColumn(name = "ITEM_ID")
private List<ItemDetail> details;

,其中

@Embeddable
public class ItemDetail implements Serializable
{
    @Temporal(DATE)
    private Date date;

    @Column
    private Double priceA;

    @Column
    private Double priceB;

    // getters/setters
}