【发布时间】:2013-12-20 16:19:57
【问题描述】:
那么自动生成函数“@GeneratedValue(strategy = GenerationType.AUTO)”究竟是如何工作的呢?
我是 Hibernate 的新手,并且继承了一个广泛使用的项目。 java 对象有:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="ID")
private Long id;
当我创建这种类型的新实体时,会生成 ID。后续新实体的 ID 增加 2。具体是在哪里完成的?
此外,它会在我们的 DEV 和 TEST 环境中生成不同的 ID,因此它在某种程度上是特定于数据库的。是否有“馈线”表/视图/序列之类的?
例如,如果我希望生成的 ID 开始为 100,000,XXX 而不是 10,XXX 并增加 100,我将如何进行更改?
请帮助一个菜鸟。提前致谢。
【问题讨论】:
-
这完全取决于那个数据库。
-
怎么样?我正在使用 Oracle 10G
-
查看this answer。
-
好的,使用的是hibernate_sequence。谢谢。