gpt4 book ai didi

mysql - 使用 TableGenerator 时出现重复的 id

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

在尝试在表中保存新行时,我收到重复的 id 错误并且无法保留数据。它位于我们的舞台环境中,因此我目前无法访问日志,尽管我正在尝试暂时获取它以解决此问题。到目前为止我只有基本的错误消息:

Duplicate entry '2219193' for key 'PRIMARY'

我们使用序列表,我使用 TableGenerator,注释如下:

@Entity
@TableGenerator(name="AUDITTRAIL_GEN", table="sequence", pkColumnName = "sequence_name",
valueColumnName = "sequence_value", pkColumnValue="seq_audittrailid", allocationSize=50)
public class FtpAuditTrail {
...
}

我没有为 hibernate 启用任何特殊设置。从字面上看,我设置的唯一属性是用户名、密码、驱动程序和存储库 URL。

还有另一台服务器(具有与我的不同的应用程序)定期更新同一数据库并在表中添加行。

我正在使用 Java 1.6.0_65、MySQL 5.5.11 和撰写本文时最新版本的 hibernate 4.2.2.Final。

已编辑:我已与其他应用程序的所有者确认,他们将序列表更新为新值,然后使用新值作为共享表中新行的 ID。 TableGenerator 不是假设表中的值可供使用吗?

最佳答案

在共享表中创建条目的其他(以及以前建立已久的)应用程序期望序列表中保存的值是最后使用的值。所以我需要一个自定义 id 生成器来执行相同的操作。除非 hibernate 有一个 id 生成器可以满足我的要求。但这里的答案( https://stackoverflow.com/a/10648572/187423 )建议您必须在自己的自定义类中扩展 TableGenerator 才能实现这一点。

关于mysql - 使用 TableGenerator 时出现重复的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21293096/

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