title: Rollback with catched RuntimeException
body: <p>I clearly need some help about transaction roll back. I'm working on a Spring/JPA/Hibernate application.</p>
  
  <p>For me, <code>RuntimeException</code> <strong>even if</strong> they are catched, are rolling back the transaction. I deduce this with some tests (that I can't put here unfortunatly as I don't have them anymore) and readings.</p>
  
  <p>But I'm experiencing another behaviour with the following code :</p>
  
  <pre><code>public class Service implements IService {
  
    @Transactional
    public void test()
    {
      // ...
      try {
        throw new RuntimeException();
      } catch (RuntimeException re) {
      }
      foo.setBar(barValue);
      this.fooDao.save(foo);
    }
  }
  </code></pre>
  
  <p>After executing this from the controller, the change on <code>bar</code>parameter is present in my database which mean that the transaction has not been rollbacked.</p>
  
  <p><strong>Now the question</strong></p>
  
  <p>Does a catched runtimeException lead to a rollback or am I wrong ?</p>