Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个表,其中包含从两个不同的应用程序插入的数据。一种是使用 INSERT QUERIES 的遗留应用程序,另一种是使用 hibernate 插入值。
但是当我们在手动插入运行后尝试插入时,休眠插入 (generator="identity") 第一次失败(索引约束)。
但是当我们第二次尝试时,插入工作正常。为什么会这样?
是休眠缓存下一个主键值,然后使用与手动 max+1 插入冲突的值吗?
请帮助
我怀疑密钥生成器问题。即:您的手动插入使用一种机制来获取下一个主键(可能选择 max id + 1),而休眠使用本机数据库方法,因此当它尝试“猜测”下一个主键时它会失败
只要两个系统使用相同的方法来生成主键,它应该不是问题