[jboss-cvs] jboss-seam/src/main/org/jboss/seam/persistence ...
Gavin King
gavin.king at jboss.com
Wed Feb 14 00:46:29 EST 2007
User: gavin
Date: 07/02/14 00:46:29
Modified: src/main/org/jboss/seam/persistence
HibernatePersistenceProvider.java
PersistenceProvider.java
Log:
introduced meta-model for non-component objects
Revision Changes Path
1.6 +7 -0 jboss-seam/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: HibernatePersistenceProvider.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- HibernatePersistenceProvider.java 2 Feb 2007 14:51:59 -0000 1.5
+++ HibernatePersistenceProvider.java 14 Feb 2007 05:46:29 -0000 1.6
@@ -18,6 +18,13 @@
import org.jboss.seam.core.ManagedPersistenceContext;
import org.jboss.seam.core.Expressions.ValueBinding;
+/**
+ * Support for non-standardized features of Hibernate, when
+ * used as the JPA persistence provider.
+ *
+ * @author Gavin King
+ *
+ */
@Name("org.jboss.seam.persistence.persistenceProvider")
@Scope(ScopeType.STATELESS)
@Intercept(InterceptionType.NEVER)
1.7 +13 -2 jboss-seam/src/main/org/jboss/seam/persistence/PersistenceProvider.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PersistenceProvider.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/persistence/PersistenceProvider.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- PersistenceProvider.java 2 Feb 2007 14:51:59 -0000 1.6
+++ PersistenceProvider.java 14 Feb 2007 05:46:29 -0000 1.7
@@ -5,7 +5,9 @@
import javax.persistence.EntityManager;
import org.jboss.seam.Component;
+import org.jboss.seam.Entity;
import org.jboss.seam.InterceptionType;
+import org.jboss.seam.Model;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Intercept;
@@ -14,6 +16,15 @@
import org.jboss.seam.core.Filter;
import org.jboss.seam.core.ManagedPersistenceContext;
+/**
+ * Abstraction layer for persistence providers (JPA implementations).
+ * This class provides a working base implementation that can be
+ * optimized for performance and non-standardized features by extending
+ * and overriding the methods.
+ *
+ * @author Gavin King
+ *
+ */
@Name("org.jboss.seam.persistence.persistenceProvider")
@Scope(ScopeType.STATELESS)
@Intercept(InterceptionType.NEVER)
@@ -33,7 +44,7 @@
public Object getId(Object bean, EntityManager entityManager)
{
- throw new UnsupportedOperationException("For Seam-managed persistence contexts, please use Hibernate as the persistence provider or use a custom PersistenceProvider");
+ return ( (Entity) Model.forClass( bean.getClass() ) ).getIdentifier(bean);
}
public void enableFilter(Filter f, EntityManager entityManager)
More information about the jboss-cvs-commits
mailing list