我想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().它是否适用于批量插入.
如果没有,那么有人可以告诉我这个问题的可能解决方案是什么?
谢谢你的时间.