mysql - Hibernate 将 ID 插入自增列

标签 mysql hibernate auto-increment

我正在使用 Sprint Boot、Sprint Data JPA、Hibernate 4 和 MySQL。我有一个带有自动增量列的表。我可以插入新实体,并且列自动递增。有时虽然我想在执行插入时指定 ID,但 Hibernate 似乎忽略了我设置的任何 ID 值。

表定义:

@Entity
@Table(name = "example")
public class Example implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;

    ... more columns ....
}

如何在未设置 ID 时同时实现自动递增并允许我的应用程序设置 ID?

最佳答案

这是因为你的 ID 不会存储在数据库中,而不是它正在考虑为你生成值的 @GeneratedValue(strategy = GenerationType.IDENTITY)

关于mysql - Hibernate 将 ID 插入自增列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27148212/

相关文章:

mysql - 将 group_concat_max_len 增加到 500000 会导致性能问题吗?

mysql - 在mysql中创建日期为dd/mm/yyyy格式

Java/Android JSON 请求不更新收到的数据

java - Java 中的 Excel 生成问题

java - Hibernate 中是否需要显式更新?

mysql - 插入表强制新主键

php - jQuery定位,PHP获取URL,图片总是加载不出来

java - 多对多、Hibernate 问题、AssociationOverrides

sqlite - 如何从 sqlite 表的元数据中获取表是否自动递增?

MySQL PhpMyAdmin : Alter AUTO_INCREMENT and/or INSERT_ID