gpt4 book ai didi

java - 每个帐户的 Hibernate/JPA 增量列

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:03 25 4
gpt4 key购买 nike

我正在使用 hibernate,我想知道是否有生成依赖于另一列的增量值的好方法。例如,依赖于account_id的orderNumber:

id **orderNumber** account_id

1 1 1

2 2 1

3 1 2

4 2 2

我想要类似 TABLE generator 的东西,但是 pkcolumnValue 包含一个动态值(account_id)而不是一个固定的实体名称。

提前致谢。

最佳答案

您似乎在尝试跟踪条目的添加顺序?

一个潜在的解决方案是使用 @OrderColumn 映射您的实体,如下所示:

@Entity
@Table(name="ACCOUNT")
public class Account {
@Id @GeneratedValue @Column(name="a_id") private long id;

@OneToMany
@OrderColumn(name="idx")
private List<OrderLine> orderLines;

// other stuff
}

@Entity
@Table(name="ORDERLINE")
public class OrderLine {
@Id @GeneratedValue @Column(name="ol_id") private long id;

// other stuff
}

这将为您的帐户生成一个表格,其中包含这样的订单行:

**ORDERLINE**
ol_id a_id idx
65473 67890 0
76843 67890 1
103473 67890 2
12563 12345 0

每当您从列表中删除一个项目并保留时,它应该更新 idx 列。无论出于何种原因,如果您最终在 idx 值中出现差距,它将构建一个列表,其中包含差距所在的 NULL 条目。请注意,这是从 0 开始的编号,因为它会尝试将结果输入回 java 列表中的正确位置。

关于java - 每个帐户的 Hibernate/JPA 增量列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com