Spring @Transactional does not work in JUnit test?
hibernate, junit4, spring, spring-test, transactional
Solution
By reference, transactions are not persisted in test contexts in Spring. As mentioned, although unusual, if you still need to do so you can use `@TransactionConfiguration` and `@Rollback` to change the default behavior.
Problem
I am using Spring 3.2, Hibernate and JUnit 4. My Dao class is as follows: `@Transactional public class SomeDaoImpl implements SomeDao {` The update operations on this work if executed directly from web application. However, I am seeing that junit integration tests that exercise the update methods do not actually persist the changes. Is something rolling the transactions back when junit methods are executed?