首页 > 解决方案 > Jpa 生成的值跳过值

问题描述

我有下一个问题

POJO
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idUser;

@Email
@Column(length = 64, unique = true)
private String email;

当电子邮件约束失败时,下一个生成的实体不会遵循之前的 id。

所以,它就像 1 2,(电子邮件约束失败),4. Jpa 跳过了数字 3....

标签: javajpapersistence

解决方案


这对于许多数据库来说是正常的;为了支持并发事务,底层序列号可能会被稍后回滚的事务增加,但数据库不会尝试“填充”缺失的值,因为跟踪它们会令人望而却步。


推荐阅读