【问题标题】:How to keep list insertion order when saving to db using Spring使用Spring保存到数据库时如何保持列表插入顺序
【发布时间】:2019-02-18 08:37:34
【问题描述】:

我正在使用 spring-boot,并且我有一个实体类(A 类),其中包含来自不同类(B 类)的元素列表。

一般情况下,列表包含订单列表,并且没有时间戳。

我想将 A 类的对象保存到 MySql DB,同时保持列表的插入顺序。 这可能吗?

谢谢, 视频

@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@ManyToMany(targetEntity = B.class, fetch = FetchType.EAGER)
private List<B> orders;
}

@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String order;
}

【问题讨论】:

    标签: hibernate spring-boot spring-jdbc


    【解决方案1】:

    我想你可以。请尝试在要保持顺序的列表上方使用 @OrderColumn 注释。这是我的例子。

    ....
    
    @ManyToMany(targetEntity = B.class, fetch = FetchType.EAGER)
    @OrderColumn
    private List<B> orders;
    

    有关更多信息,我认为此链接可以帮助您。

    https://www.logicbig.com/tutorials/java-ee-tutorial/jpa/order-column.html

    希望我的回答能帮到你:)

    【讨论】:

    • @OrderColumn 有效,但仅在新表上有效。如果我将它应用于现有表,它会失败。有什么办法吗?
    猜你喜欢
    • 2013-10-03
    • 2023-03-10
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多