title: Spring and JUnit annotated tests: creating fixtures in separate transactions
body: <p>I am testing my Hibernate DAOs with Spring and JUnit.</p>
  
  <p>I would like each test method to start with a pre-populated DB, i.e. the Java objects have been saved in the DB, in a Hibernate transaction that has already been committed. How can I do this?</p>
  
  <p>With @After and @Before, methods execute in the same Hibernate transaction as the methods decorated with @Test and @Transactional (first level cache may not be flushed by the time the real test method starts). @BeforeTransaction and @AfterTransaction apparently cannot work with Hibernate because they don't create transactions even if the method is annotated with @Transactional in addition to @Before/AfterTransaction.</p>
  
  <p>Any suggestion?</p>