Я хотел бы выполнить пакетное обновление с помощью JPA
и Postgres. Я не могу использовать слияние, так как проверяю конфликт уникального ограничения, которое не является PK. Я обнаружил, что для upsert в 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()
. Будет ли он работать для пакетной вставки.
Если нет, то может кто-нибудь, пожалуйста, скажите мне, каковы возможные решения этой проблемы?
Спасибо за ваше время.