title: Hibernate, save the previous state of an object
body: <p>Is there any generally accepted, proven-to-work way using hibernate, that keeps a history of an entitys changes in the database?</p>
  
  <p>We need to keep track of quite some objects and we want to be able to undo changes to objects.</p>
  
  <p>I tried using the interceptors of hibernate, but the old state of the object is only available when doing <code>merge()</code>. Mostly we do <code>update()</code> or <code>saveOrUpdate()</code> though...</p>
  
  <p>I'm currently letting warp-persist together with Guice manage the session.</p>