小编Sai*_*uly的帖子

使用nativequery的JPA(Hibernate)和postgres sql批处理upsert

我想JPA和Postgres 进行批量upsert .我不能使用merge,因为我正在检查不是PK的Unique Constraint上的冲突.我发现要在postgres中进行upsert,我们现在可以使用ON Conflict功能.所以基本上我想在中执行本机查询JPA.查询将如下:

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

我将循环遍历对象列表并进行查询.

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

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

谢谢你的时间.

postgresql hibernate jpa upsert batch-insert

8
推荐指数
1
解决办法
1241
查看次数

标签 统计

batch-insert ×1

hibernate ×1

jpa ×1

postgresql ×1

upsert ×1