UserTransaction utx = null;
try {
   EntityManager em = (EntityManager) (new InitialContext()).lookup( "java:comp/env/persistence/em" );
   utx = (UserTransaction) (new InitialContext()).lookup( "java:comp/UserTransaction" );
   utx.begin();
   em.persist( entity1 );
   em.merge( entity2 );
   em.find( MyEntity.class, id );
   utx.commit();
} catch( Exception ex ) {
   try { utx.rollback(); } catch( Exception e ) {/*ok*/}
   throw new RuntimeException( ex );
}