Скажем, у вас есть следующий код:
Connection conn;
try
{
conn = ... // get connection
conn.setAutoCommit(false);
... // Do some modification queries and logic
conn.commit()
} catch(SQLException e)
{
conn.rollback() // Do we need this?
conn.close()
}
В этом коде, если есть исключение, лучше ли просто закрыть соединение (поскольку автокоммит отключен) или явно откатить и затем закрыть соединение? Нет очков сохранения.
Мне кажется, что имеет смысл добавить вызов отката, потому что:
1) Кто-то в будущем может добавить очки сохранения, но забудет добавить откат
2) Улучшает читабельность
3) Это ничего не должно стоить, верно?
Но, очевидно, ни один из них не является особенно убедительным. Любая стандартная практика?
Примечание: я знаю о необходимости повторной попытки / уловки при закрытии и откате. На самом деле у меня есть промежуточное ПО, которое абстрагирует доступ к базе данных и позаботится об этом, но мне было интересно, было ли добавление этого излишним.