Я успешно использовал эту аннотацию для класса Dao. И откат работает для тестов.
Но теперь мне нужно откат реального кода, а не только тестов. Существуют специальные аннотации для использования в тестах. Но какие аннотации для не-тестового кода? Это большой вопрос для меня. Я потратил на это уже целый день. Официальная документация не отвечала моим потребностям.
class MyClass { // this does not make rollback! And record appears in DB.
        EmployeeDaoInterface employeeDao;
        public MyClass() {
            ApplicationContext context = new ClassPathXmlApplicationContext(
                    new String[] { "HibernateDaoBeans.xml" });
            employeeDao = (IEmployeeDao) context.getBean("employeeDao");
         }
        @Transactional(rollbackFor={Exception.class})
    public void doInsert( Employee newEmp ) throws Exception {
        employeeDao.insertEmployee(newEmp);
        throw new RuntimeException();
    }
}
employeeDao
@Transactional
public class EmployeeDao implements IEmployeeDao {
    private SessionFactory sessionFactory;
    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }
    public void insertEmployee(Employee emp) {
        sessionFactory.getCurrentSession().save(emp);
    }
}
И вот тест, для которого аннотации работают хорошо:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/HibernateDaoBeans.xml" })
@TransactionConfiguration(transactionManager = "txManager", defaultRollback = true)
@Transactional
public class EmployeeDaoTest {
    @Autowired
    EmployeeDaoInterface empDao;
    @Test
    public void insert_record() {
       ...
       assertTrue(empDao.insertEmployee(newEmp));
    }
HibernateDaoBeans.xml
   ...
<bean id="employeeDao" class="Hibernate.EmployeeDao">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
    <tx:annotation-driven transaction-manager="txManager"/>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
   ...
** ДА, я отменил транзакцию. Я просто добавил BEAN для службы... а затем аннотация @Transactional начнет работать:-) **
<bean id="service" class="main.MyClass">
    <property name="employeeDao" ref="employeeDao" />
</bean>
Спасибо, Россия не забудет вас!