gpt4 book ai didi

java - 如果另一个程序更新数据库,hibernate 不会更新 id

转载 作者:行者123 更新时间:2023-11-29 00:17:30 25 4
gpt4 key购买 nike

假设我有一个 spring + hibernate 应用程序,可以很好地协同工作。一张表 A 由应用程序(CRUD)管理。并且可能还有其他程序也向表A中插入了一些数据。所以问题就来了。

例如:hibernate 将下一个 id 指向 1001(auto_increment),在它接收任何数据之前,我使用一个 jar 文件将 100 条记录插入到 mysql 数据库中。因此,下一个要插入的 id 应该是 1101。但是如果现在 hibernate 收到一条记录并尝试插入,它会抛出一个异常:java.sql.BatchUpdateException: Duplicate entry '1001' for key 'PRIMARY'。能否请你帮忙?提前致谢!

ps: 在 hbm.xml 中:

<id name="cns_id" column="cns_id" type="long" access="field">
<generator class="increment" />
</id>

最佳答案

根据API ,如果你这样做:

<id name="cns_id" column="cns_id" type="long" access="field">
<generator class="guid" />
</id>

Hibernate 应该从数据库中获取 ID:

guid

uses a database-generated GUID string on MS SQL Server and MySQL.

关于java - 如果另一个程序更新数据库,hibernate 不会更新 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22452490/

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