I have several integration tests for various services that extend the following baseclass:
@ContextConfiguration(locations=\"classpath:applicationContext-test.xm
This is expected behaviour, and is one of the main reasons to use REQUIRES_NEW :
re-populate the database between tests is probably the best solution, and I would use this solution for all the tests: this allows tests to check that everything works correctly, including the commit (which could fail due to flushing, deferred constraints, etc.).
But it you really want to rollback the transaction, a solution would be to add a boolean argument rollbackAtTheEnd
to your service, and rollback the transaction if this argument is true.