Я бы предложил, чтобы в вашем цикле for был создан метод, который проверяет, существует ли объект в вашей базе данных H2, запрашивая его, используя уникальный идентификатор, такой как id.Используйте следующий пример запроса RDB в качестве ссылки:
private static final String PRODUCT_ALREADY_EXISTS_QUERY = "SELECT EXISTS(SELECT 1"
+ " FROM inventory.products "
+ " WHERE 1 = 1"
+ " AND id = :id)";
Затем, если запись существует, вызовите метод обновления, который использует запрос UPDATE с использованием уникального идентификатора.Пример запроса RDB:
private static final String UPDATE_QUERY = "UPDATE inventory.products"
+ " SET (company_id, name, price, type, quantity, created_date, last_modified_date) = "
+ " (:companyId, :productName, :price, :productType, :quantity, :createdDate, :lastModifiedDateTime)"
+ " WHERE id = :id ";
Если запись не существует, просто создайте запись, как вы.