+
+ @Override
+ public void rollback(EntityManager aEntityManager) {
+ try {
+ aEntityManager.getTransaction().rollback();
+ } finally {
+ aEntityManager.close();
+ entityManager.set(null);
+ }
+ }
+
+ /**
+ * Gets a contextual reference to an entity manager that delegates to the
+ * appropriate (current) one which is active for the current transaction.
+ * @return EntityManager.
+ */
+ public EntityManager getContextualEntityManager() {
+ return entityManager.getProxy();
+ }