Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过一个单一的连接维护订单_Java_Spring Boot_Jpa_Spring Data Jpa - Fatal编程技术网

Java 通过一个单一的连接维护订单

Java 通过一个单一的连接维护订单,java,spring-boot,jpa,spring-data-jpa,Java,Spring Boot,Jpa,Spring Data Jpa,我正在使用spring boot,希望将产品列表作为外键添加到页面中,但是当我从数据库中检索时,如何维护ArrayList顺序?我是否应该有一个中间表,例如维护产品主键和订单列的PageProductOrder @Entity public class Page { @OneToMany @JoinColumn(name = "product_id") private List<Product> products; @实体 公共类页面{ @独身癖 @Join

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

@Entity
public class Page {
    @OneToMany
    @JoinColumn(name = "product_id")
    private List<Product> products;
@实体
公共类页面{
@独身癖
@JoinColumn(name=“产品标识”)
私人上市产品;

您可以使用
@OrderBy
注释定义订单

@OneToMany
@JoinColumn(name = "product_id")
@OrderBy(value = "name ASC")
private List<Product> products;
@OneToMany
@JoinColumn(name=“产品标识”)
@订购人(value=“name ASC”)
私人上市产品;

您可以使用-这将使用实体中的一列进行订购:

@OneToMany
@JoinColumn(name = "product_id")
@OrderColumn(name = "product_index")
private List<Product> products;
@OneToMany
@JoinColumn(name=“产品标识”)
@OrderColumn(name=“产品索引”)
私人上市产品;

product
实体中的
product\u index
列将用于维护订单。

谢谢您的回答,但我想维护列表的顺序,而不是数据库中已经存在的字段。哪个字段/属性定义了关联产品的顺序?只是插入顺序?是的,当前的顺序是ey已添加到列表中。我可以管理具有相同产品的页面,因此订单特定于一个页面。是否可以将此产品索引与产品表分开,因为一个产品可能出现在多个页面中。如果一个产品可能出现在多个页面中,则它不应是一对多关系,而应是多对多关系。现在是一个页面可以有许多产品,但一个产品被分配到一个页面。此外,此列仅由JPA提供商使用,并且您的实体中没有此列的映射。啊,查看您链接到的文档,如果我删除@JoinColumn,我将得到我要找的中间表。谢谢