Выполнить функцию SQL с ошибкой фиксации jakarta.persistence.Query.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Выполнить функцию SQL с ошибкой фиксации jakarta.persistence.Query.

Сообщение Anonymous »

  • что я хочу: мне нужно выполнить функцию SQL (очень большую) с помощью jakarta.persistence.Query.
  • что я делаю:

Код: Выделить всё

 @Transactional
public int executeRunFunctions() {
Query query = entityManager.createNativeQuery(loadQuery("/script4.sql"), Long.class);
System.out.println(query == null);
System.out.println("---- " + query.executeUpdate());
return 0;
}
  • что я получаю:

Код: Выделить всё

org.hibernate.exception.GenericJDBCException: JDBC exception executing SQL [...my sql function..]
[ERROR: invalid transaction termination
Where: PL/pgSQL function inline_code_block line 113 at COMMIT] [n/a]
  • что я пробую:
    Я добавляю настройки:

Код: Выделить всё

spring.datasource.hikari.auto-commit=false
spring.jpa.properties.hibernate.connection.provider_disables_autocommit=true
И я получаю:

Код: Выделить всё

Step failed
org.springframework.orm.jpa.JpaSystemException: Unable to commit against JDBC Connection
Но функция выполнена успешно, в моей БД процесс сработал.
Без этих настроек мой SQL-скрипт (не функция) с удалением и созданием таблицы работает успешно.
В то время как с эти настройки действительно работали и с этой ошибкой («Невозможно зафиксировать соединение JDBC»).
Я использую несколько комбинаций этих настроек и делаю следующее:
Я оставил одну настройку 'spring.jpa.properties.hibernate.connection.provider_disables_autocommit=true' и окружите проблемный код в try-catch.

Помогите мне, пожалуйста, как мне это сделать правильно?

Подробнее здесь: https://stackoverflow.com/questions/792 ... mmit-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»