title: play 2.1.1: Unable to rollback transaction with ebean orm
body: <p>I have problem with understanding how to work with ebean transactions under play 2.1.1.</p>
  
  <pre><code>    Ebean.execute(txScope, new TxRunnable() {
  
          public void run() {
  
              Ebean.beginTransaction();
              System.out.println("[**] : " + Ebean.currentTransaction());
              User user = Ebean.find(User.class, 22);
              user.setPassword("qweqwe125");
              Ebean.save(user);
  
              user = Ebean.find(User.class, 22);
              user.setPassword("qweqwe126");
              Ebean.rollbackTransaction();
              // or other case
              //Ebean.currentTransaction().rollback();
          }
  </code></pre>
  
  <p>But in this case I receive error: PersistenceException: The existing transaction still active?</p>
  
  <p>Also I've try to make something like:</p>
  
  <pre><code>@Transactional(type=TxType.REQUIRES_NEW, isolation = TxIsolation.SERIALIZABLE)
  public static void transactional2() {
      User user = User.query.getById(22l);
      user.setPassword("qweqwe123");
      user.save();
  
      Ebean.endTransaction();
  }
  </code></pre>
  
  <p>In this case I receive updated values. Also in last example I've try rollback in this way:
  Ebean.currentTransaction().end();</p>
  
  <p>But receive NullPointerException error.</p>
  
  <p>Could some one point me to workable example with transactions? Or write some example in comments.</p>
  
  <p>Thanks.</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Eventually have found solution:</p>
  
  <pre><code>public static void transactional2() {
      com.avaje.ebean.Ebean.beginTransaction();
  
      User user = User.query.getById(22l);
      user.setPassword("qweqwe123");
      user.save();
  
      com.avaje.ebean.Ebean.rollbackTransaction();
      // OR: com.avaje.ebean.Ebean.commitTransaction();
  
  }
  </code></pre>