org.openspaces.persistency.hibernate
Class DefaultHibernateExternalDataSource
java.lang.Object
org.openspaces.persistency.hibernate.AbstractHibernateExternalDataSource
org.openspaces.persistency.hibernate.DefaultHibernateExternalDataSource
- All Implemented Interfaces:
- com.gigaspaces.datasource.BulkDataPersister, com.gigaspaces.datasource.ManagedDataSource, com.gigaspaces.datasource.SQLDataProvider, ManagedDataSourceEntriesProvider
- Direct Known Subclasses:
- CriteriaHibernateExternalDataSource
public class DefaultHibernateExternalDataSource
- extends AbstractHibernateExternalDataSource
- implements com.gigaspaces.datasource.BulkDataPersister, com.gigaspaces.datasource.SQLDataProvider
The default Hiberante external data source implementation. Based on Hibernate Session.
- Author:
- kimchy
| Fields inherited from interface com.gigaspaces.datasource.ManagedDataSource |
DATA_CLASS_PROPS, NUMBER_OF_PARTITIONS, STATIC_PARTITION_NUMBER |
|
Method Summary |
void |
executeBulk(List<com.gigaspaces.datasource.BulkItem> bulkItems)
Perform the given bulk changes using Hibernate Session. |
com.gigaspaces.datasource.DataIterator |
initialLoad()
Performs the initial load operation. |
com.gigaspaces.datasource.DataIterator |
iterator(com.j_spaces.core.client.SQLQuery sqlQuery)
Returns a DefaultListQueryDataIterator for the
given sql query. |
void |
setUseMerge(boolean useMerge)
If set to true, will use Hiberante merge to perform the create/update, and will
merge before calling delete. |
| Methods inherited from class org.openspaces.persistency.hibernate.AbstractHibernateExternalDataSource |
createInitialLoadIterator, getFetchSize, getInitialLoadChunkSize, getInitialLoadEntries, getManagedEntries, getSessionFactory, init, isManagedEntry, isPerformOrderById, isUseScrollableResultSet, setFetchSize, setInitialLoadChunkSize, setInitialLoadEntries, setInitialLoadThreadPoolSize, setManagedEntries, setPerformOrderById, setSessionFactory, setUseScrollableResultSet, shutdown |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.gigaspaces.datasource.ManagedDataSource |
init, shutdown |
DefaultHibernateExternalDataSource
public DefaultHibernateExternalDataSource()
setUseMerge
public void setUseMerge(boolean useMerge)
- If set to
true, will use Hiberante merge to perform the create/update, and will
merge before calling delete. This might be required for complex mappings (depends on Hibernate) at the
expense of slower performance. Defaults to false.
executeBulk
public void executeBulk(List<com.gigaspaces.datasource.BulkItem> bulkItems)
throws com.gigaspaces.datasource.DataSourceException
- Perform the given bulk changes using Hibernate
Session.
Note, this implementation relies on Hibernate NonUniqueObjectException in case
the entity is already associated with the given session, and in such a case, will result in performing
merge operation (which is more expensive).
- Specified by:
executeBulk in interface com.gigaspaces.datasource.BulkDataPersister
- Throws:
com.gigaspaces.datasource.DataSourceException
iterator
public com.gigaspaces.datasource.DataIterator iterator(com.j_spaces.core.client.SQLQuery sqlQuery)
throws com.gigaspaces.datasource.DataSourceException
- Returns a
DefaultListQueryDataIterator for the
given sql query.
- Specified by:
iterator in interface com.gigaspaces.datasource.SQLDataProvider
- Throws:
com.gigaspaces.datasource.DataSourceException
initialLoad
public com.gigaspaces.datasource.DataIterator initialLoad()
throws com.gigaspaces.datasource.DataSourceException
- Performs the initial load operation. Iterates over the
AbstractHibernateExternalDataSource.setInitialLoadEntries(String[]) inital load
entries. If AbstractHibernateExternalDataSource.getInitialLoadChunkSize() is set to -1, will use
DefaultScrollableDataIterator for each entity. If
getInitalLoadChunkSize () is set to a non -1 value, will use the
DefaultChunkScrollableDataIterator.
- Specified by:
initialLoad in interface com.gigaspaces.datasource.ManagedDataSource
- Throws:
com.gigaspaces.datasource.DataSourceException
Copyright © GigaSpaces.