title: autocommit=true during spring transaction
body: <p>Trying to understand transactions... I'm using Spring's <code>JdbcTemplate</code> and <code>@Transactional</code> annotation in a method. Although the transaction is active during the method execution (as indicated by both the logs and <code>TransactionSynchronizationManager.isActualTransactionActive())</code>, autocommit also seems to be  turned on (as shown by <code>jdbcTemplate.getDataSource().getConnection().getAutoCommit())</code>).</p>
  
  <p>I don't understand two things</p>
  
  <ul>
  <li>Isn't  the idea of jdbc transactions turning off autocommit and manually commiting at the end of a code block? Isn't spring transaction manager supposed to be doing something like that under the hood?</li>
  <li>If autocommit is really on: If one modification to the database succeeds, and a subsequent one fails, how can spring rollback the previous changes (which it does, despite the autocommit value)?</li>
  </ul>