anchor.diff:  
   		protected void assertNumUsers(int expected) {
   			assertEquals("Number of rows in the [user] table.", expected, countRowsInTable("user"));
  +		}
  +	}
  +----
  +[source,kotlin,indent=0,subs="verbatim,quotes",role="secondary"]
  +.Kotlin
  +----
  +	@ContextConfiguration(classes = [TestConfig::class])
  +	class ProgrammaticTransactionManagementTests : AbstractTransactionalJUnit4SpringContextTests() {
  +
  +		@Test
  +		fun transactionalTest() {
  +			// assert initial state in test database:
  +			assertNumUsers(2)
  +
  +			deleteFromTables("user")
  +
  +			// changes to the database will be committed!
  +			TestTransaction.flagForCommit()
  +			TestTransaction.end()
  +			assertFalse(TestTransaction.isActive())
  +			assertNumUsers(0)
  +
  +			TestTransaction.start()
  +			// perform other actions against the database that will
  +			// be automatically rolled back after the test completes...
  +		}
  +
  +		protected fun assertNumUsers(expected: Int) {
  +			assertEquals("Number of rows in the [user] table.", expected, countRowsInTable("user"))
   		}
   	}
   ----
  
positive.code: The following example causes a test method's result to not be rolled back (that is, the
  result is committed to the database):
  
  [source,java,indent=0]
  [subs="verbatim,quotes"]
  ----
  	@Rollback(false) <1>
  	@Test
  	void testProcessWithoutRollback() {
  		// ...
  	}
  ----
  
negative.code: declared several times on the same class or method, implicitly generating this container
  annotation. The following example shows how to declare an SQL group:
  
  [source,java,indent=0,subs="verbatim,quotes",role="primary"]
  .Java
  ----
  	@Test
  	@SqlGroup({ // <1>
  		@Sql(scripts = "/test-schema.sql", config = @SqlConfig(commentPrefix = "`")),
  		@Sql("/test-user-data.sql")
  	)}
  