【问题标题】:Table with both hibernate and manual insert具有休眠和手动插入的表
【发布时间】:2013-07-16 11:20:18
【问题描述】:

我有一个表,其中包含从两个不同的应用程序插入的数据。一种是使用 INSERT QUERIES 的遗留应用程序,另一种是使用 hibernate 插入值。

但是当我们在手动插入运行后尝试插入时,休眠插入 (generator="identity") 第一次失败(索引约束)。

但是当我们第二次尝试时,插入工作正常。为什么会这样?

是休眠缓存下一个主键值,然后使用与手动 max+1 插入冲突的值吗?

请帮忙

【问题讨论】:

    标签: hibernate caching insert sequence manual


    【解决方案1】:

    我怀疑密钥生成器有问题。即:您的手动插入使用一种机制来获取下一个主键(可能选择 max id + 1),而休眠使用本机数据库方法,因此当它尝试“猜测”下一个主键时失败

    只要两个系统使用相同的方法生成主键,应该没有问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 2013-02-28
      • 2018-04-28
      • 2021-10-24
      • 1970-01-01
      • 2015-08-01
      相关资源
      最近更新 更多