8

我想使用JPAPostgres 执行批量更新插入。我不能使用合并,因为我正在检查不是 PK 的唯一约束上的冲突。我发现要在 postgres 中进行更新,我们现在可以使用 ON Conflict 功能。所以基本上我想在JPA. 查询将类似于:

INSERT INTO user (user_id, display_name )
VALUES('1', 'sg27')  
    ON CONFLICT (user_id) DO UPDATE 
SET display_name = 'sg27' RETURNING *;

我将遍历对象列表并进行查询。

所以我的问题是在原生查询插入的情况下,我们可以使用手动刷新吗em.flush()?它是否适用于批量插入。

如果没有,那么有人可以告诉我这个问题的可能解决方案是什么?

谢谢你的时间。

4

1 回答 1

0

在休眠 JPA 中使用本机查询与您的正常休眠查询相同,只是它特定于下划线数据存储。您可以进行批量更新插入,也可以进行手动冲洗。根据您的批量大小。没有问题。

于 2018-06-28T06:32:56.100 回答