title: How to reduce multi inventory, each transaction or only one transaction?
body: <p>like that <code>method1</code></p>
  <pre class="lang-java prettyprint-override"><code>@Transactional(rollbackFor = Exception.class)
  public void reduce(list) {
      for (someone : list) {
          xxx
      }
  }
  </code></pre>
  <p>or <code>method2</code></p>
  <pre class="lang-java prettyprint-override"><code>public void reduce(list) {
      for (someone : list) {
          reduceOne();
      }
  }
  
  @Transactional(rollbackFor = Exception.class)
  private void reduceOne(one) {
      xxx
  }
  </code></pre>
  <p>which one is better for concurrent system? and why?
  if choose <code>method2</code>, how to resolve someone reduce fail?</p>