title: Real difference between one-phase and two-phase (XA) commit
body: <p>Could someone clarify the difference between one-phase and two-phase commit. As far as I understand one-phase commit represents commit in the course of application server (Service method -> EntityManager) and XA commit is the same transaction up to the database (Service method -> EntityManager -> DB) and is used in order to properly rollback overall transaction. So why don't we use XA drivers by default? Is this just performance concern?
  Please correct me if I'm wrong.</p>