0

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

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

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

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

请帮助

4

1 回答 1

0

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

只要两个系统使用相同的方法来生成主键,它应该不是问题

于 2013-07-16T03:20:18.480 回答