【发布时间】:2020-01-27 18:21:17
【问题描述】:
设置:
我确实在 PostgreSQL 中创建了一个表,其中有一列 id 串行主键。 查看 pgAdmin 中列的属性,我可以看到:
数据类型:整数
默认值: nextval('items_id_seq'::regclass)
(所以如果我没记错的话,我确实是使用“序列”关键字创建的。)
现在在我的后端代码中,我使用的方法是:jpaRepository.deleteAllInBatch(),它会“截断”我的整个表。
问题
当我再次向表中添加记录时,我可以看到以下记录的 id 从我在表中的最后一条记录的 id 继续。
问题:
有没有办法在执行 jpaRepository.deleteAllInBatch() 时重新初始化 id-serial 以便记录再次以 id = 0 开头?
【问题讨论】:
-
你可以重设一个序列,但何必呢?您不应该关心实际值,只关心它们是主键。
-
我很烦恼,因为首先我不使用这个主键作为外键,所以重置序列不应该产生问题。而且我有很多次删除 1000 多条记录并再次添加 1000 多条记录。恐怕不是今年,但也许明年我会达到序列整数限制
标签: java spring-boot jpa