title: Spring @Transactional propagation property
body: <p>I have a question about spring transaction propagation. I understand different Spring transaction propagation i.e. <code>Propagation.REQUIRED</code>, <code>Propagation.REQUIRES_NEW</code> etc. What I am not clear about is how would it behave in case of nested transactions with different propagation values. </p>
  
  <p>For example If I use <code>@Transactional(propagation = Propagation.REQUIRED)</code> to annotate a method <code>m1</code>. If I call a method <code>m2</code> which is annotated as <code>REQUIRES_NEW</code>. What would be the behaviour? If an exception occurs in <code>m2</code> will it rollback the changes in <code>m2</code> and as well as <code>m1</code> or only the changes of <code>m1</code>.
  Similarly <code>m1</code> annotated as <code>REQUIRES_NEW</code> and <code>m2</code> as <code>REQUIRED</code>.</p>