package banco.connection;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.eclipse.persistence.config.QueryHints;
import org.eclipse.persistence.internal.jpa.EntityManagerImpl;
public class EclipseLinkConnection {
private EntityManager entityManager;
public boolean isDirty(){
EntityManagerImpl manager = (EntityManagerImpl) getEntityManager();
return manager.getUnitOfWork().hasChanges();
}
public void rollBack() {
getEntityManager().getTransaction().rollback();
}
public EntityManager getEntityManager() {
if(entityManager == null)
entityManager = MecasoftEntityManager.getEntityManager();
if(!entityManager.getTransaction().isActive())
entityManager.getTransaction().begin();
return entityManager;
}
public Query createQueryNoCache(String query){
Query q = getEntityManager().createQuery(query);
q.setHint(QueryHints.CACHE_STORE_MODE, "REFRESH");
return q;
}
public void merge(Object modelo){
getEntityManager().merge(modelo);
getEntityManager().getTransaction().commit();
}
public void persist(Object modelo){
getEntityManager().persist(modelo);
getEntityManager().getTransaction().commit();
}
public void remove(Object modelo){
getEntityManager().remove(modelo);
getEntityManager().getTransaction().commit();
}
}