public abstract class AbstractHibernateDatastore extends AbstractDatastore
Datastore implementation that uses a Hibernate SessionFactory underneath.
Modifiers | Name | Description |
---|---|---|
enum |
AbstractHibernateDatastore.FlushMode |
We use a separate enum here because the classes differ between Hibernate 3 and 4 |
Modifiers | Name | Description |
---|---|---|
static java.lang.String |
CONFIG_PROPERTY_CACHE_QUERIES |
|
static java.lang.String |
CONFIG_PROPERTY_OSIV_READONLY |
|
static java.lang.String |
CONFIG_PROPERTY_PASS_READONLY_TO_HIBERNATE |
|
protected AutoTimestampEventListener |
autoTimestampEventListener |
|
protected ConnectionSources<org.hibernate.SessionFactory, HibernateConnectionSourceSettings> |
connectionSources |
|
protected java.lang.String |
dataSourceName |
|
protected int |
defaultFlushMode |
|
protected java.lang.String |
defaultFlushModeName |
|
protected AbstractHibernateEventListener |
eventTriggeringInterceptor |
|
protected boolean |
failOnError |
|
protected boolean |
isCacheQueries |
|
protected MultiTenancyMode |
multiTenantMode |
|
protected boolean |
osivReadOnly |
|
protected boolean |
passReadOnlyToHibernate |
|
protected SchemaHandler |
schemaHandler |
|
protected org.hibernate.SessionFactory |
sessionFactory |
|
protected TenantResolver |
tenantResolver |
Fields inherited from class | Fields |
---|---|
class AbstractDatastore |
LOG, cacheAdapterRepository, connectionDetails, mappingContext |
Constructor and description |
---|
protected AbstractHibernateDatastore
(ConnectionSources<org.hibernate.SessionFactory, HibernateConnectionSourceSettings> connectionSources, HibernateMappingContext mappingContext) |
protected AbstractHibernateDatastore
(MappingContext mappingContext, org.hibernate.SessionFactory sessionFactory, org.springframework.core.env.PropertyResolver config, org.springframework.context.ApplicationContext applicationContext, java.lang.String dataSourceName) |
AbstractHibernateDatastore
(MappingContext mappingContext, org.hibernate.SessionFactory sessionFactory, org.springframework.core.env.PropertyResolver config) |
Type Params | Return Type | Name and description |
---|---|---|
|
void |
close() |
|
void |
destroy() |
|
void |
disableMultiTenancyFilter() Disable the tenant id filter for the given datastore and entity |
|
void |
enableMultiTenancyFilter() Enable the tenant id filter for the given datastore and entity |
|
AutoTimestampEventListener |
getAutoTimestampEventListener() @return The event listener that populates lastUpdated and dateCreated |
|
ConnectionSources<org.hibernate.SessionFactory, HibernateConnectionSourceSettings> |
getConnectionSources() |
|
java.lang.String |
getDataSourceName() @return The data source name being used |
|
AbstractHibernateDatastore |
getDatastoreForConnection(java.lang.String connectionName) Obtain a child datastore for the given connection name |
|
Datastore |
getDatastoreForTenantId(java.io.Serializable tenantId) |
|
int |
getDefaultFlushMode() @return Obtains the default flush mode level |
|
java.lang.String |
getDefaultFlushModeName() @return The name of the default value flush |
|
AbstractHibernateEventListener |
getEventTriggeringInterceptor() |
|
IHibernateTemplate |
getHibernateTemplate(int flushMode) Obtains a hibernate template for the given flush mode |
|
IHibernateTemplate |
getHibernateTemplate() |
|
MultiTenancyMode |
getMultiTenancyMode() |
|
org.hibernate.SessionFactory |
getSessionFactory() @return The Hibernate org.hibernate.SessionFactory being used by this datastore instance |
|
TenantResolver |
getTenantResolver() |
|
boolean |
isAutoFlush() |
|
boolean |
isCacheQueries() |
|
boolean |
isFailOnError() |
|
boolean |
isOsivReadOnly() |
|
boolean |
isPassReadOnlyToHibernate() |
|
org.hibernate.Session |
openSession() @return Opens a session |
<T> |
protected groovy.lang.Closure<T> |
prepareMultiTenantClosure(groovy.lang.Closure<T> callable) |
|
java.io.Serializable |
resolveTenantIdentifier() |
|
java.lang.Iterable<java.io.Serializable> |
resolveTenantIds() |
|
void |
withFlushMode(AbstractHibernateDatastore.FlushMode flushMode, java.util.concurrent.Callable<java.lang.Boolean> callable) Execute the given operation with the given flush mode |
<T> |
T |
withNewSession(groovy.lang.Closure<T> callable) |
<T1> |
T1 |
withNewSession(java.io.Serializable tenantId, groovy.lang.Closure<T1> callable) |
<T> |
T |
withSession(groovy.lang.Closure<T> callable) |
Methods inherited from class | Name |
---|---|
class AbstractDatastore |
connect, connect, connectStateless, createSession, createStatelessSession, destroy, getApplicationContext, getApplicationEventPublisher, getCurrentSession, getMappingContext, hasCurrentSession, initializeConverters, isIndexed, isSchemaless, mapToPropertyResolver, retrieveSession, retrieveSession, setApplicationContext, withSession |
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Disable the tenant id filter for the given datastore and entity
Enable the tenant id filter for the given datastore and entity
Obtain a child datastore for the given connection name
connectionName
- The name of the connection
Obtains a hibernate template for the given flush mode
flushMode
- The flush mode
Execute the given operation with the given flush mode
callable
- The callable