【发布时间】:2023-01-30 04:40:16
【问题描述】:
我的应用程序使用 Jakarta EE JPA 将数据保存到数据库。 出于性能原因,应用程序必须生成自定义(编码)序列。 默认情况下,JPA 似乎使用某种序列为实体生成 ID。
如何用 Java 编码的客户序列生成器覆盖默认序列生成器?
【问题讨论】:
标签: jpa jakarta-ee java-ee-6
我的应用程序使用 Jakarta EE JPA 将数据保存到数据库。 出于性能原因,应用程序必须生成自定义(编码)序列。 默认情况下,JPA 似乎使用某种序列为实体生成 ID。
如何用 Java 编码的客户序列生成器覆盖默认序列生成器?
【问题讨论】:
标签: jpa jakarta-ee java-ee-6
这就是您使用自定义序列的方式:
@Id
@SequenceGenerator(name = "pet_seq",
sequenceName = "pet_sequence",
initialValue = 1, allocationSize = 20)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "pet_seq")
@Column(name = "id", nullable = false)
private Long id;
在这种情况下,它将使用 pet_sequence 而不是默认值。您也可以阅读this article 以更好地理解这个主题。
【讨论】: