title: Spring transaction: rollback on Exception or Throwable
body: <p>I wonder whether it makes sense to use instead of </p>
  
  <pre><code>@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  </code></pre>
  
  <p>to use <code>Throwable</code></p>
  
  <pre><code>@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
  </code></pre>
  
  <p>As I understand catching <code>Error</code> will help us behave correctly even when something really bad happen. Or maybe it wouldn't help?</p>