如何根据Spring Data Jpa中List的顺序保存多个

时间:2016-05-12 04:36:13

标签: spring-data-jpa

我的模型代码

@Entity
@Table(name = "jade")
public class Jade extends BaseEntity implements Serializable {

    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinTable(name = "jade_feature", 
     joinColumns = { @JoinColumn(name = "jade_id", referencedColumnName = "id") }, 
     inverseJoinColumns = { @JoinColumn(name = "feature_id", referencedColumnName = "id") })
    private List<Feature> features;

}

保存模型时,List的数据未按照List的添加方法保存。

例如:

List<Feature> features = new ArrayList<Feature>();
features.add(a);
features.add(b);
features.add(c);
Jade jade = new Jade(features);
jade.saveAndFlush();

但是数据库数据是【c,a,b】这样插入的。 如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

您必须使用 @OrderColumn 来维护List集合的顺序。

请查看以下文档:

http://docs.oracle.com/javaee/6/api/javax/persistence/OrderColumn.html