org.jboss.seam.persistence
@Name(value="org.jboss.seam.persistence.persistenceProvider") @Scope(value=STATELESS) @BypassInterceptors @Install(precedence=10, classDependencies={"org.hibernate.Session","javax.persistence.EntityManager"}) public class HibernatePersistenceProvider extends PersistenceProvider
PersistenceProvider.FeaturefeatureSet| Constructor and Description |
|---|
HibernatePersistenceProvider() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkVersion(Object bean,
javax.persistence.EntityManager entityManager,
Object oldVersion,
Object version) |
static void |
checkVersion(Object value,
org.hibernate.Session session,
Object oldVersion,
Object version) |
void |
enableFilter(Filter f,
javax.persistence.EntityManager entityManager)
Enable a Filter.
|
Class |
getBeanClass(Object bean)
Returns the class of the specified Hibernate entity
|
static Class |
getEntityClass(Object bean) |
Object |
getId(Object bean,
javax.persistence.EntityManager entityManager)
Get the value of the entity identifier attribute.
|
String |
getName(Object bean,
javax.persistence.EntityManager entityManager)
Get the name of the entity
|
Object |
getVersion(Object bean,
javax.persistence.EntityManager entityManager)
Get the value of the entity version attribute.
|
static Object |
getVersion(Object value,
org.hibernate.Session session) |
static HibernatePersistenceProvider |
instance() |
boolean |
isDirty(javax.persistence.EntityManager entityManager)
Does the persistence context have unflushed changes? If it does not,
persistence context replication can be optimized.
|
Object |
proxyDelegate(Object delegate)
Wrap the delegate Hibernate Session in a proxy that supports HQL
EL interpolation and implements FullTextSession if Hibernate
Search is available in the classpath.
|
javax.persistence.EntityManager |
proxyEntityManager(javax.persistence.EntityManager entityManager)
Wrap the entityManager before returning it to the application
|
boolean |
registerSynchronization(Synchronization sync,
javax.persistence.EntityManager entityManager)
Register a Synchronization with the current transaction.
|
void |
setFlushModeManual(javax.persistence.EntityManager entityManager)
Set the flush mode to manual-only flushing.
|
void |
setRenderFlushMode()
Set the FlushMode the persistence contexts should use during rendering by
calling
PersistenceContexts#changeFlushMode(FlushModeType, true). |
getPostLoadMethod, getPostLoadMethod, getPrePersistMethod, getPrePersistMethod, getPreRemoveMethod, getPreRemoveMethod, getPreUpdateMethod, getPreUpdateMethod, init, supportsFeaturepublic Object proxyDelegate(Object delegate)
proxyDelegate in class PersistenceProviderpublic void setFlushModeManual(javax.persistence.EntityManager entityManager)
PersistenceProvidersetFlushModeManual in class PersistenceProviderpublic void setRenderFlushMode()
PersistenceProvider
Set the FlushMode the persistence contexts should use during rendering by
calling PersistenceContexts#changeFlushMode(FlushModeType, true).
The actual changing of the flush mode is handled by the
PersistenceContexts instance. The boolean argument should be true
to indicate that this is a temporary change and that the old flush mode
should be restored after render.
Ideally, this should be MANUAL since changes should never flush to the database while in render response and the cost of a dirty check can be avoided. However, since the MANUAL mode is not officially part of the JPA specification, the default implementation will perform no operation.
setRenderFlushMode in class PersistenceProviderpublic boolean isDirty(javax.persistence.EntityManager entityManager)
PersistenceProviderisDirty in class PersistenceProviderpublic Object getId(Object bean, javax.persistence.EntityManager entityManager)
PersistenceProvidergetId in class PersistenceProviderbean - a managed entity instancepublic Object getVersion(Object bean, javax.persistence.EntityManager entityManager)
PersistenceProvidergetVersion in class PersistenceProviderbean - a managed entity instancepublic void checkVersion(Object bean, javax.persistence.EntityManager entityManager, Object oldVersion, Object version)
checkVersion in class PersistenceProviderpublic void enableFilter(Filter f, javax.persistence.EntityManager entityManager)
PersistenceProviderenableFilter in class PersistenceProviderpublic boolean registerSynchronization(Synchronization sync, javax.persistence.EntityManager entityManager)
PersistenceProviderregisterSynchronization in class PersistenceProviderpublic String getName(Object bean, javax.persistence.EntityManager entityManager) throws IllegalArgumentException
PersistenceProvidergetName in class PersistenceProviderIllegalArgumentException - if the passed object is not an entitypublic javax.persistence.EntityManager proxyEntityManager(javax.persistence.EntityManager entityManager)
PersistenceProviderproxyEntityManager in class PersistenceProviderpublic static void checkVersion(Object value, org.hibernate.Session session, Object oldVersion, Object version)
public Class getBeanClass(Object bean)
getBeanClass in class PersistenceProviderbean - The entity bean instancepublic static HibernatePersistenceProvider instance()
Copyright © 2015 Seam Framework. All Rights Reserved.