[hibernate-commits] Hibernate SVN: r17008 - core/trunk/entitymanager/src/main/java/org/hibernate/ejb.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Mon Jul 6 13:19:44 EDT 2009
Author: epbernard
Date: 2009-07-06 13:19:44 -0400 (Mon, 06 Jul 2009)
New Revision: 17008
Modified:
core/trunk/entitymanager/src/main/java/org/hibernate/ejb/EntityManagerFactoryImpl.java
Log:
EJB-446 implements EMF.getCache() except contains
Modified: core/trunk/entitymanager/src/main/java/org/hibernate/ejb/EntityManagerFactoryImpl.java
===================================================================
--- core/trunk/entitymanager/src/main/java/org/hibernate/ejb/EntityManagerFactoryImpl.java 2009-07-06 16:56:27 UTC (rev 17007)
+++ core/trunk/entitymanager/src/main/java/org/hibernate/ejb/EntityManagerFactoryImpl.java 2009-07-06 17:19:44 UTC (rev 17008)
@@ -3,6 +3,7 @@
import java.util.Map;
import java.util.Set;
+import java.io.Serializable;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContextType;
import javax.persistence.Cache;
@@ -71,8 +72,7 @@
}
public Cache getCache() {
- //FIXME
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return new JPACache( sessionFactory );
}
public boolean isOpen() {
@@ -83,4 +83,33 @@
return sessionFactory;
}
+ private static class JPACache implements Cache {
+ private SessionFactory sessionFactory;
+
+ private JPACache(SessionFactory sessionFactory) {
+ this.sessionFactory = sessionFactory;
+ }
+
+ public boolean contains(Class aClass, Object o) {
+ throw new UnsupportedOperationException( "not yet implemented - HHH-4021" );
+ }
+
+ public void evict(Class entityType, Object id) {
+ sessionFactory.evict( entityType, ( Serializable ) id );
+ }
+
+ public void evict(Class entityType) {
+ sessionFactory.evict( entityType );
+ }
+
+ public void evictAll() {
+ for ( String entityName : (Set<String>) sessionFactory.getAllClassMetadata().entrySet() ) {
+ sessionFactory.evictEntity( entityName );
+ }
+ for ( String collectionName : (Set<String>) sessionFactory.getAllCollectionMetadata().entrySet() ) {
+ sessionFactory.evictCollection( collectionName );
+ }
+ sessionFactory.evictQueries();
+ }
+ }
}
More information about the hibernate-commits
mailing list