title: doInTransaction method calls 3 times every try
body: <p>I use TransactionTemplate for managing db connections:</p>
  
  <pre><code>txTemplate.execute(new TransactionCallback&lt;Void&gt;() {
          @Override
          public Void doInTransaction(TransactionStatus txStatus) {
              try {
                  ***********************
                  List&lt;Map&lt;String, Object&gt;&gt; rows = dbConn.queryForList(sql, bindValues);
                  *********************************
  
                      System.out.println(txStatus.toString());
                      System.out.println(txStatus.isNewTransaction());
                      System.out.println(txStatus.isRollbackOnly());
                  }
              }catch (RuntimeException e) {
                  txStatus.setRollbackOnly();
                  System.out.println("*************"+e.getMessage());
                  throw e;
              }
  </code></pre>
  
  <p>and this is the result of mine code:</p>
  
  <pre><code>create connection
  org.springframework.transaction.support.DefaultTransactionStatus@37b60886
  true
  false
  org.springframework.transaction.support.DefaultTransactionStatus@37b60886
  true
  false
  org.springframework.transaction.support.DefaultTransactionStatus@37b60886
  true
  false
  </code></pre>
  
  <p>3 times method calls: why it could be?  </p>