【问题标题】:Hibernate insert ID into auto-increment columnHibernate 将 ID 插入自增列
【发布时间】:2015-01-24 17:24:49
【问题描述】:

我正在使用 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?

【问题讨论】:

    标签: mysql hibernate auto-increment


    【解决方案1】:

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

    【讨论】:

    • 是的,我有这个,因为它是一个自动增量列。我的问题是如何插入一个 ID 而不是让 MySQL 自动生成一个。使用直接 SQL,MYSQL 允许您为 ID 列插入一个值,或者如果未指定,它将为您生成一个值。我想通过 Hibernate 来实现。
    猜你喜欢
    • 2022-09-27
    • 2013-07-06
    • 2020-06-18
    • 1970-01-01
    • 2015-04-13
    • 2011-08-23
    • 1970-01-01
    • 2019-05-16
    • 2013-04-27
    相关资源
    最近更新 更多