gpt4 book ai didi

java - Spring 数据 - JPA,缺少 ID

转载 作者:行者123 更新时间:2023-11-29 12:02:57 25 4
gpt4 key购买 nike

我们正在使用 Spring Data 项目,我们有一个 mysql 数据库。最近我们在 USER 表上注意到以下内容:

id  |   name |  pass | email
=====================================
1 John 123 john@gmail.com

2 Joe 456 joe@gmail.com

3 .....

4 ....

6 ...

显然我们的数据库中缺少 id=5。

  1. 这可能是什么原因?请记住,我们正在使用 @transactional 服务和 dao。

  2. Spring data 可以使用这些跳过的 id 创建新条目吗? (也许配置?)

最佳答案

当您发出 insert 语句时,id 会被“保留”,但插入会一直执行到事务提交为止;如果在此之前抛出异常,则事务将回滚,不会执行插入,因此不会使用保留的 id。所有这些都假设您使用自动增量。

可能还有其他原因,但这一个特别是在我身上偶尔发生过,尽管对我来说并不是真正的问题。

编辑:这在 Postgres 上发生在我身上,但我认为它也发生在 mysql 上;自从我上次使用它以来已经有一段时间了。

此外,您还可以查看 JPA 提供商的 @GenerateValues 文档

关于java - Spring 数据 - JPA,缺少 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com