在spring data jpa Application中,我创建了一个带有@entity annotation的模型。我将模型数据保存到表中。我自动递增主键。但是当我将数据保存到表中时,它不是顺序自动递增的。
@GeneratedValue(strategy = GenerationType.AUTO)
类文件:
@Entity
@Table(name="exception")
public class Exception implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "exception_seq_generator")
@SequenceGenerator(name = "exception_seq_generator", sequenceName = "exception_seq")
@Column(name="exception_id")
public Integer exceptionId;
@Column(name="status_code")
public Integer statusCode;
public String message;
public String status;
public String error;
//Getter and setter
表格:
谁能告诉我为什么主键不自动按顺序递增?为什么不取2,3,4.....
1条答案
按热度按时间enxuqcxy1#
首先尝试设置allocationSize:
同时检查数据库中的当前序列,它现在可能有错误的值。
更简单的方法:
在PostgreSQL DB中定义主键列为SERIAL:
并使用以下内容注解列:
SERIAL类型为您创建了一个自动递增序列,并且您在JPA实体中没有那么多开销。