title: Transaction rollback on Spring JDBC tests
body: <p>I'm trying to get JDBC transaction rollback when using Spring-test without success. When I run the following the SQL update is always committed.</p>
  
  <pre><code>package my.dao.impl;
  
  import org.junit.Test;
  import org.junit.runner.RunWith;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.test.annotation.Rollback;
  import org.springframework.test.context.ContextConfiguration;
  import org.springframework.test.context.TestExecutionListeners;
  import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
  import org.springframework.test.context.transaction.TransactionConfiguration;
  
  import javax.sql.DataSource;
  import java.sql.Connection;
  import java.sql.Statement;
  
  @RunWith(SpringJUnit4ClassRunner.class)
  @TestExecutionListeners({DependencyInjectionTestExecutionListener.class})
  @ContextConfiguration(locations={"classpath:ApplicationContext-test-DAOs.xml"})
  @TransactionConfiguration(defaultRollback = true)
  public class ConfirmationMatchingDAOImplTest {
  
      @Autowired
      private DataSource dataSource;
  
      @Test
      public void shouldInsertSomething() throws Exception {
          final Connection connection = dataSource.getConnection();
          final Statement statement = connection.createStatement();
          statement.executeUpdate("insert into TEST_INSERT values (1, 'hello')");
          statement.close();
          connection.close();
      }
  }
  </code></pre>
  
  <p>
  </p>
  
  <pre><code>&lt;bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt;
      &lt;property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/&gt;
      &lt;property name="url" value="jdbc:sqlserver://makeitfunky:1490;databaseName=fonzie"/&gt;
      &lt;property name="username" value="ralph"/&gt;
      &lt;property name="password" value="p0n1es_R_kew1"/&gt;
  &lt;/bean&gt;
  </code></pre>
  
  <p></p>
  
  <p>What am I doing wrong?</p>
  
  <p>Additionally, am I using too many annotations? Can I make it a bit cleaner?</p>