通过OneToMany联接维护订单

时间:2019-07-06 14:59:52

标签: java spring-boot jpa spring-data-jpa

我正在使用Spring Boot,并希望将产品列表作为外键添加到页面中,但是从数据库中检索时如何保持ArrayList顺序?我应该有一个中间表吗? PageProductOrder维护产品主键和订单列?

@Entity
public class Page {
    @OneToMany
    @JoinColumn(name = "product_id")
    private List<Product> products;

2 个答案:

答案 0 :(得分:3)

您可以使用@OrderColumn进行此操作-这将使用实体中的一列进行排序:

@OneToMany
@JoinColumn(name = "product_id")
@OrderColumn(name = "product_index")
private List<Product> products;

product_index实体中的列Product将用于维护顺序。

答案 1 :(得分:2)

您可以使用@OrderBy批注定义顺序。

@OneToMany
@JoinColumn(name = "product_id")
@OrderBy(value = "name ASC")
private List<Product> products;