首页 > 解决方案 > 主键列不自动递增

问题描述

如何正确进行自动递增?

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="userid", updatable=false, nullable=false)
private Integer userid;

当我使用列上的注释创建数据库时,我遇到了休眠注释问题。问题是当我插入一行时,数据库不会自动增加 userid 列。然后引发错误。

标签: springhibernate

解决方案


Hibernate 支持不同的策略来生成 pk 值。其中之一是使用自动递增数据库列的身份策略。

如果需要遵循这种方式,则需要将pk属性注解为@Id,并将@GeneratedValue注解和策略设置为GenerationType.IDENTITY。

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "userid", updatable = false, nullable = false)
private Integer userid;

推荐阅读