title: How to revert the database back to the initial state using dbUnit?
body: <p>I am new to automated testing and dbUnit. So I would appreciate your advice.</p>
  
  <p>I am going to create a test suite, that will run the following way:</p>
  
  <ul>
  <li>create an in-memory H2 database</li>
  <li>run DDL scripts to create tables</li>
  <li>run dbUnit to insert initial data (let's call it <strong>STATE0</strong>) that will be used by all tests.</li>
  <li>run tests</li>
  </ul>
  
  <p>Till there it looks nice for me, but what I don't understand, is how do I revert the database to the <strong>STATE0</strong> after a test run and changed the data?</p>
  
  <p>Can I do it with dbUnit?<br>
  Or with something else?<br>
  Should I recreate the database before each test?  </p>
  
  <p>Simple not commiting transactions in tests is not appropriate for me, because the tests will eventually run more than one transaction over may be more than one database connection.</p>