title: Unittest a transactional method with REQUIRES_NEW and always force rollback
body: <p>I want to test a service-method that inserts data into a table by calling a DAO in a loop. The service-method is annotated with </p>
  
  <pre><code>@Transactional(propagation = Propagation.REQUIRES_NEW)
  </code></pre>
  
  <p>The unit-test calls the service-method and is annotated with </p>
  
  <pre><code>@Transactional
  </code></pre>
  
  <p>Now I would like to tell the transaction that it always should do a rollback at the end. I don't want to clean up the db manually after the testruns.</p>
  
  <p>@Rollback and EntityManager.getTransaction().setRollbackOnly() does'nt work. I think the reason is that the annotation and setRollbackOnly() are only applied on the Transaction that is created by the test-method and not on the transaction that is created by the service-method.</p>
  
  <p>Does anyone know how to solve that?</p>