boot从mysql切换到postgresql并获得唯一的约束冲突

ws51t4hk  于 2021-06-25  发布在  Mysql
关注(0)|答案(0)|浏览(310)

我正在将spring启动项目的数据库从mysql切换到postgresql。在大多数情况下,这并不是太痛苦,但我发现我得到了一个例外,我似乎无法解决。

org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "r_i_UNIQUE"
Detail: Key (cola_id, colb_id)=(1234567, 12345) already exists.

mysql中发生这种情况时的行为是执行更新,这也是我在postgresql中需要执行的操作。
代码方面,我通过 cola_id 以及 colb_id ,对象从我的存储库返回,根据需要进行操作,然后使用 repository.saveAndFlush(existingItem); 它在table上 saveAndFlush 我得到了例外。
我的假设是spring将此视为一个新对象,并尝试执行插入而不是更新,但我不理解为什么会出现这种情况,因为它使用mysql时工作正常。
postgresql如何使用saveandflush处理更新,以及如何正确应用更新?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题