gpt4 book ai didi

java - Hibernate @GenerateValue(策略 = GenerationType.AUTO)

转载 作者:行者123 更新时间:2023-12-03 04:22:17 26 4
gpt4 key购买 nike

那么自动生成函数“@GenerateValue(strategy = GenerationType.AUTO)”到底是如何工作的呢?

我是 Hibernate 的新手,并且继承了一个广泛使用的项目。 java对象有:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="ID")
private Long id;

当我创建这种类型的新实体时,会生成 ID。后续新实体的 ID 会增加 2。这到底是在哪里完成的?

此外,它在我们的 DEV 和 TEST 环境中生成不同的 ID,因此它在某种程度上是特定于数据库的。是否有“馈送”表/ View /序列或其他东西?

例如,如果我希望生成的 ID 开始为 100,000,XXX(而不是 10,XXX)并增加 100,我将如何进行更改?

请帮帮菜鸟。提前致谢。

最佳答案

如前所述,这是由您的 Oracle 数据库控制的。如果 id 递增 2,那是因为有人将其设置为 2。在oracle中,SET INCREMENT BY将指定标识列上的增量。

要更改种子值,请使用 RESTART WITH。

ALTER TABLE mytable ALTER COLUMN id SET INCREMENT BY 100    
ALTER TABLE mytable ALTER COLUMN id RESTART WITH 100000000

Oracle 更改表文档:Alter table

关于java - Hibernate @GenerateValue(策略 = GenerationType.AUTO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20707768/

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