Hibernate autocommit true для одной команды

Hibernate автоматически устанавливает для autocommit значение false и даже не рекомендует устанавливать для него значение true.

Мне нужно, чтобы autocommit был установлен в true для одной команды базы данных (я хочу отправить «VACUUM» в мою базу данных postgresql, для которой для autocommit установлено значение true), но я хочу, чтобы autocommit был установлен (как рекомендуется) на неверно для всего остального.

Кажется, я не могу найти способ программно изменить настройку автоматической фиксации для одного сеанса.

-- Нужно ли мне иметь отдельный Configuration/SessionFactory для этой операции??

Спасибо.


person Tinclon    schedule 20.06.2013    source источник
comment
Что именно VACUUM делает для вашей базы данных? Это то, что он делает sqlite.org/lang_vacuum.html?   -  person sheidaei    schedule 20.06.2013
comment
Это база данных RedShift. Очень похоже на ссылку sqlite, которую вы разместили. docs.aws.amazon.com/redshift/latest/dg/   -  person Tinclon    schedule 20.06.2013


Ответы (1)


Я рекомендую оставить autocommit как false, но использовать установщик для VACUUM и в конце установщика вызвать sessionManager.save(this) (при условии, что вы можете получить дескриптор SessionManager для этой точки). Убедитесь, что AccessType для VACUUM имеет значение AccessType.FIELD, а не AccessType.PROPERTY, иначе вы получите ненужные запросы к базе данных.

person Martin Wickham    schedule 23.06.2013
comment
Я не совсем понимаю, что вы говорите. Не могли бы вы уточнить? - person Tinclon; 25.06.2013