title: Spring outer transaction failure roll back inner transaction
body: <p>I have the following code using Spring @Transactional annotation. </p>
  
  <pre><code>//in A.java
  Class A {
      @Transactional(propagation=propagation.???)
      public void aMethod() {
          B b = new B();
          b.bMethod(); // success and committed
          aPrivateMethod(); // failure
      }
  
      private void aPrivateMethod() { //something }
  }
  
  //in B.java
  Class B {
      @Transactional(propagation=propagation.???)
      public void bMethod() { //something }
  }
  </code></pre>
  
  <p>The behavior I expect of A.aMethod() is:</p>
  
  <blockquote>
    <p>If b.bMethod() succeeds and has committed but aPrivateMethod() fails,
    then A.aMethod() is rolled back including b.bMethod().</p>
  </blockquote>
  
  <p>How can I set the @Transactional propagation parameters to achieve this?</p>