From fe9797bd83c4a044a36c6e0ccb0caf4e96f9e5d2 Mon Sep 17 00:00:00 2001 From: Athou Date: Fri, 7 Jun 2013 15:08:10 +0200 Subject: [PATCH] portable way to unwrap the session (#266) --- src/main/java/com/commafeed/backend/MetricsBean.java | 4 +--- src/main/java/com/commafeed/backend/dao/GenericDAO.java | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/commafeed/backend/MetricsBean.java b/src/main/java/com/commafeed/backend/MetricsBean.java index 5a53e5e5..0ff007ce 100644 --- a/src/main/java/com/commafeed/backend/MetricsBean.java +++ b/src/main/java/com/commafeed/backend/MetricsBean.java @@ -6,7 +6,6 @@ import javax.persistence.PersistenceContext; import org.hibernate.Session; import org.hibernate.SessionFactory; -import org.hibernate.ejb.EntityManagerImpl; import org.hibernate.stat.Statistics; @Singleton @@ -72,8 +71,7 @@ public class MetricsBean { } public String getCacheStats() { - EntityManagerImpl impl = (EntityManagerImpl) em.getDelegate(); - Session session = impl.getSession(); + Session session = em.unwrap(Session.class); SessionFactory sessionFactory = session.getSessionFactory(); Statistics statistics = sessionFactory.getStatistics(); return statistics.toString(); diff --git a/src/main/java/com/commafeed/backend/dao/GenericDAO.java b/src/main/java/com/commafeed/backend/dao/GenericDAO.java index c9acde27..0fcf55a1 100644 --- a/src/main/java/com/commafeed/backend/dao/GenericDAO.java +++ b/src/main/java/com/commafeed/backend/dao/GenericDAO.java @@ -14,7 +14,6 @@ import javax.persistence.criteria.Root; import javax.persistence.metamodel.Attribute; import org.hibernate.Session; -import org.hibernate.ejb.EntityManagerImpl; import com.commafeed.backend.model.AbstractModel; import com.google.common.reflect.TypeToken; @@ -39,8 +38,7 @@ public abstract class GenericDAO { public void saveOrUpdate(Collection models) { int i = 1; - EntityManagerImpl impl = (EntityManagerImpl) em.getDelegate(); - Session session = impl.getSession(); + Session session = em.unwrap(Session.class); for (AbstractModel model : models) { session.saveOrUpdate(model);