小编Mar*_*ri9的帖子

使用事务进行Upsert

我正在使用Spring和PostgreSQL,我尝试使用如下代码进行一种UPSERT:

jt.update("delete from A where id = 1")
jt.update("insert into A (id, value) values (1, 100)")
Run Code Online (Sandbox Code Playgroud)

包含在事务中(使用@Transactional).

问题是,当有很多并发请求时,此代码会因"重复键"错误而失败,这意味着事务不是孤立的,或者......

我错过了有关交易如何运作的信息吗?我应该在这里使用不同的机制(例如线程同步)吗?

sql database postgresql spring

0
推荐指数
2
解决办法
2763
查看次数

标签 统计

database ×1

postgresql ×1

spring ×1

sql ×1