В любой системе баз данных, с которой я работал, нет никакого вреда в выполнении отката сразу после коммита, так что если вы фиксируете в блоке try и откручиваете в наконец, все фиксируется, тогда как если исключение или ранний возврат приводит к тому, что фиксация будет пропущена, откат выполнит откат транзакции. Так что безопаснее всего сделать
try {
conn.setAutoCommit(false);
ResultSet rs = executeQuery(conn, ...);
....
executeNonQuery(conn, ...);
....
conn.commit();
} finally {
conn.rollback();
conn.close();
}