title: Sql clause is rollback before integration test ended
body: <p>I have a problem and after two days of research, I was not able to find a solution. I have a simple app so far just read all data from table and wanted to write an integration test for it.</p>
  
  <p>Here is my test:</p>
  
  <pre><code>@Transactional
  @SpringBootTest
  @ActiveProfiles("integrationTest")
  class StockFacadeIT extends Specification {
  
      @Autowired
      StockFacadeImpl stockFacade
  
      @Autowired
      DSLContext dslContext
  
      @Sql(scripts = "/add_sample_stocks.sql")
      def 'should return list of ticker in correct order'() {
          when:
          def tickers = stockFacade.loadAllTickers(dslContext)
          println "when cluase"
  
          then:
          println "then cluase"
          tickers.getAt(0) == 'abc'
          tickers.getAt(1) == 'gpw'
          tickers.getAt(2) == 'kgh'
          tickers.getAt(3) == 'tpe'
      }
  }
  </code></pre>
  
  <p>In log I see:</p>
  
  <pre><code>2017-11-06 21:30:09.478  INFO 21124 --- [           main] o.s.t.c.transaction.TransactionContext   : Began transaction (1) for test context [DefaultTestContext@6a01e23 testClass = StockFacadeIT, testInstance = com.gpw.radar.stock.StockFacadeIT@455cbf18, testMethod = $spock_feature_0_0@StockFacadeIT, [...] rollback [true]
  2017-11-06 21:30:09.478  INFO 21124 --- [           main] o.s.jdbc.datasource.init.ScriptUtils     : Executing SQL script from class path resource [add_sample_stocks.sql]
  2017-11-06 21:30:09.478  INFO 21124 --- [           main] o.s.jdbc.datasource.init.ScriptUtils     : Executed SQL script from class path resource [add_sample_stocks.sql] in 0 ms.
  2017-11-06 21:30:09.712  INFO 21124 --- [           main] org.jooq.Constants                       :
  when cluase
  then cluase
  2017-11-06 21:30:09.869  INFO 21124 --- [           main] o.s.t.c.transaction.TransactionContext   : Rolled back transaction for test context [DefaultTestContext@6a01e23 testClass = StockFacadeIT, testInstance = com.gpw.radar.stock.StockFacadeIT@455cbf18, testMethod = $spock_feature_0_0@StockFacadeIT, testException = Condition not satisfied:
  </code></pre>
  
  <p>So from log perspective I see that transaction begin before test and rolback is run after test ("then clause"). But test doesn't pass beacuase database is empty. When I delete the @Transactional annotation, it passed but inserted records stayed at DB. What am I doing wrong here?</p>