All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.compass.gps.device.jpa.ResourceLocalEntityManagerWrapper Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version
package org.compass.gps.device.jpa;

import javax.persistence.EntityTransaction;
import javax.persistence.PersistenceException;

/**
 * A JPA Resource Local only {@link EntityManagerWrapper} implementation. Creates the
 * EntityManager, and an EntityTransaction.
 *
 * @author kimchy
 */
public class ResourceLocalEntityManagerWrapper extends AbstractEntityManagerWrapper {

    private EntityTransaction transaction;

    @Override
    protected void beginTransaction() throws PersistenceException {
        transaction = entityManager.getTransaction();
        transaction.begin();
    }

    @Override
    protected void commitTransaction() throws PersistenceException {
        if (transaction == null) {
            return;
        }
        try {
            transaction.commit();
        } finally {
            transaction = null;
        }
    }

    @Override
    protected void rollbackTransaction() throws PersistenceException {
        if (transaction == null) {
            return;
        }
        try {
            transaction.rollback();
        } finally {
            transaction = null;
        }
    }

    @Override
    protected boolean shouldCloseEntityManager() {
        return true;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy