- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
那么自动生成函数“@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/
目前,我们使用MySQL作为数据库,并且我们使用 @Generate Value(strategy = GenerationType.IDENTITY) 在某些情况下它工作得很好,我们需要将数据库迁移
目前,我们使用 MySQL 作为数据库,我们使用 @Generated Value(strategy = GenerationType.IDENTITY) 在我们需要将数据库迁移到 Oracle 的某
我有类似的问题 this SO question .但是我的应用程序正在 MySQL 上运行,并且有工作数据。 使用填充有数据的现有数据库重构应用程序的最佳做法是什么? 最佳答案 TABLE_PER_
我正在研究一个要求,其中代码应支持 Oracle 和 MySQL 数据库。我们正在使用 hibernate 并尝试使用框架功能来实现相同的目标。对于 Identity 列,我们使用 @Generate
我的应用程序使用 DB2。创建数据库后我运行一些插入脚本。该插入脚本会在表中生成记录,并在插入脚本中给出 id。 假设 abc 表插入脚本创建一条 id = 3 的记录。由于 id 设置为在 hibe
我有一个具有以下结构的部门表 Field Type Null Key Default Extra id int(11)
我正在从事一个项目,我需要存储一些数据(当然还有其他数据)。生产数据库将是MySQL,但对于我的测试,我使用 HyperSQL (又名 HSQLDB)。 我的所有@Enitity类都有相应的@Id字段
我有一个网络表单,用户可以在其中插入数据。然后还有存储在数据库中。但我在数据库记录中遇到了问题。我使用 spring 3、jpa、eclipselink 和 mysql。在实体中生成@Id。当我使用策
我有一个表,其中包含一个简单的 int id 列,在 SQL Server 中标识自动递增。 实体的 Id 用 @Id 和 @GeneratedValue 注释 @Id @GeneratedValue
Hibernate documentations (5.1.2.2. Identifier generator)州 AUTO: selects IDENTITY, SEQUENCE or TABLE
这是我的实体文件:- @Entity @Table(name = "tbl_article_function_instruction_status") @XmlRootElement public c
那么自动生成函数“@GenerateValue(strategy = GenerationType.AUTO)”到底是如何工作的呢? 我是 Hibernate 的新手,并且继承了一个广泛使用的项目。
我正在尝试将对象持久保存到数据库中。不断收到“列 ID 无法接受空值错误”。我的对象如下所示: @Entity public class TestTable { @Id @Ge
我有一个 ID 配置为的 hibernate 实体 @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; 新元素的创建在
我在同一个项目中有几个类,其中 id 始终是自动生成的。然而,在这种特定情况下,我的 id 值恰好始终为空。我真的很想知道出了什么问题,因为经过一些更改后它停止工作。与其他类相比,代码似乎是相同的。
由于 Spring Boot 2 使用 Hibernate 5,因此我的 MySQL 5.7 数据库的 @GenerateValue 默认策略 GenerationType.AUTO 会导致模拟 Ge
我的实体类: import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Ge
似乎我坚持的一切,它一直在 id 中输入 401,导致这个错误。有什么帮助吗? 异常 Exception [EclipseLink-4002] (Eclipse Persistence Service
我有一个在 JBOss 5、JPA 和 Derby 中运行良好的旧应用程序。我现在将它移植到 JBoss 6,却发现系统无法插入带有错误消息的实体: “ID”列不能接受 NULL 值。 其中,ID为标
我使用 Spring/Hibernate Dao 将我的对象保存在数据库中。现在我必须备份应用程序中的所有数据库。现在,当我尝试读回备份时,我的应用程序崩溃了。现在我发现了这个崩溃的问题。它是 Hib
我是一名优秀的程序员,十分优秀!