Package com.isomorphic.hibernate
Class HibernateDataSource
java.lang.Object
com.isomorphic.base.Base
com.isomorphic.datasource.DataSource
com.isomorphic.datasource.BasicDataSource
com.isomorphic.hibernate.HibernateDataSource
- All Implemented Interfaces:
com.isomorphic.base.IAutoConfigurable
,com.isomorphic.datasource.Committable
,com.isomorphic.datasource.FreeResourcesHandler
,com.isomorphic.datasource.IType
,com.isomorphic.interfaces.IHibernateDataSource
,IToJSON
,Serializable
public class HibernateDataSource extends BasicDataSource implements com.isomorphic.interfaces.IHibernateDataSource
A DataSource implementation for the Hibernate ORM system. SmartClient Server can integrate with Hibernate's ORM facilities, making use of new or existing bean mappings, or it can drive Hibernate as a pure storage layer in "beanless" mode. In this latter mode, SmartClient programs can connect to a Hibernate data store for all four CRUD operations, with zero server-side code or Hibernate configuration.
See the client reference documentation for details of configuring and using Hibernate DataSources - search for "hibernateIntegration". For a wider general discussion of data integration options with SmartClient Server, search the client documentation for "serverDataIntegration"
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionHolds list of additional fields requested by specificDSRequest
.protected String
Holds config name - can be configured with "jpaConfig" parameter.static final Character
Holds character ('~') used to escape wild cards in 'like' clause.protected Boolean
Holds value should related updates be generated.static final String
Name of the Hibernate configuration name property.protected List<DSResponse>
Holds list of generated related updates.Fields inherited from class com.isomorphic.datasource.DataSource
OP_ADD, OP_CLIENT_EXPORT, OP_CUSTOM, OP_DOWNLOAD_FILE, OP_FETCH, OP_GET_FILE, OP_GET_FILE_VERSION, OP_HAS_FILE, OP_HAS_FILE_VERSION, OP_LIST_FILE_VERSIONS, OP_LIST_FILES, OP_LOAD_SCHEMA, OP_REMOVE, OP_REMOVE_FILE, OP_REMOVE_FILE_VERSION, OP_RENAME_FILE, OP_SAVE_FILE, OP_UNIQUE_NAME, OP_UPDATE, OP_VALIDATE, OP_VIEW_FILE
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
commitTransaction
(org.hibernate.Transaction trx) Deprecated.As of SmartClient 8.0.static String
escapeValueForFilter
(Object value, char escapeChar) Escapes characters "_" and "%" with specified character in value object.ReturnsDSField
by specified name.getFieldNames
(boolean dropIgnored) Returns combined list of data source configured and request configured field names.static void
rollbackTransaction
(org.hibernate.Transaction trx) Deprecated.As of SmartClient 8.0.static org.hibernate.Transaction
Deprecated.As of SmartClient 8.0.Methods inherited from class com.isomorphic.datasource.BasicDataSource
getAuditDataSource, getAuditRecord, getAuditRecord, hasCustomDefaultFetchOperation, hasCustomLogic, shouldAutoJoinTransaction, shouldAutoStartTransaction, transformMultipleFields, transformMultipleFields, writeMultiAudits
Methods inherited from class com.isomorphic.datasource.DataSource
add, add, addDynamicDSGenerator, addDynamicDSGenerator, addDynamicDSGenerator, clearDynamicDSGenerators, convertRelativeDates, convertRelativeDates, convertRelativeDates, convertRelativeDates, convertRelativeDates, convertRelativeDates, executeFileSource, fetch, fetch, fetchById, fetchById, fetchById, fetchSingle, fetchSingle, filter, filter, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, get1ManyRelationFields, getAuditChangedFieldsFieldName, getAuditRevisionFieldName, getAuditTimestampFieldName, getAuditTypeFieldName, getAuditUserFieldName, getDefaultDynamicDSGenerator, getDirectFields, getDynamicDSGenerators, getEnumConstantProperty, getEnumOrdinalProperty, getEnumTranslateStrategy, getFieldNames, getFile, getFileAsInputStream, getFileAsString, getFileContentsField, getFileFormatField, getFileNameField, getFileTypeField, getID, getJoinDSName, getJoinDSName, getListProperties, getListProperties, getListProperty, getManyManyRelationFields, getMapProperty, getName, getNonIncludedFields, getObjectProperty, getOperationProperty, getPrimaryKey, getProperties, getProperties, getProperties, getProperty, getPropertyJavaClass, getRecordXPath, getRelatedDisplayRecord, getRelatedDisplayRecord, getRelatedDSName, getRelatedDSName, getRelatedTableAlias, getRelationFields, getTableName, getTransactionObject, getTransactionObject, has1ManyRelationFields, hasFile, hasManyManyRelationFields, hasRecord, hasRecord, hasRelationFields, initialized, is1ManyRelationField, isManyManyRelationField, isModificationOperation, isRelationField, isServerOnly, listFiles, listFiles, listFiles, listFiles, listFiles, listFiles, remove, removeDynamicDSGenerator, removeDynamicDSGenerator, removeDynamicDSGenerator, removeFile, renameFile, saveFile, setEnumConstantProperty, setEnumOrdinalProperty, setEnumTranslateStrategy, setOmitNullMapValuesInResponse, setProperties, transformImportValue, transformImportValue, transformResponse, update, update, validate, validate, validate, validateRecord
-
Field Details
-
ESCAPE_CHARACTER
Holds character ('~') used to escape wild cards in 'like' clause. Avoid using backslash '\' or dollar sign '$' because it is often used in databases as DB escape or wild card characters. -
HB_CONFIG_PROPERTY
Name of the Hibernate configuration name property.- See Also:
-
configName
Holds config name - can be configured with "jpaConfig" parameter. Holds empty string for default configuration. -
generateRelatedUpdates
Holds value should related updates be generated. (Re)initialized on everyexecute()
call.true
- related updates will be generated;false
- related updates will not be generated;null
- related updates will be generated only for "add" and "update" operations, related updates will not be generated for "remove" operation. -
additionalFields
Holds list of additional fields requested by specificDSRequest
.
-
-
Method Details
-
getFieldNames
Returns combined list of data source configured and request configured field names.- Parameters:
dropIgnored
-boolean
true
- ignored fields are dropped;false
- ignored fields are included;- Returns:
List
field names.
-
getField
ReturnsDSField
by specified name. First checks data source configured fields. Checks request configured fields if it is not found within data source configured fields. Returnsnull
iffieldName
parameter isnull
or field is not found.- Overrides:
getField
in classBasicDataSource
- Parameters:
fieldName
- the name of the field whose definition you want- Returns:
DSField
field.- See Also:
-
escapeValueForFilter
Escapes characters "_" and "%" with specified character in value object. Specified escape character is escped (doubled) as well. Empty string is returned if value object is null.- Parameters:
value
-Object
Value which should be escaped.escapeChar
-char
ecape character.- Returns:
String
Escaped string value.
-
startTransaction
Deprecated.As of SmartClient 8.0. UseHibernateTransaction.startTransaction(com.isomorphic.datasource.DSTransaction)
insteadStart a new transaction. The transaction ends when eithercommitTransaction(org.hibernate.Transaction)
orrollbackTransaction(org.hibernate.Transaction)
is called for the transaction.- Returns:
- the new transaction
- Throws:
Exception
-
rollbackTransaction
Deprecated.As of SmartClient 8.0. UseHibernateTransaction.rollbackTransaction(com.isomorphic.datasource.DSTransaction)
insteadRollback and clean up the supplied transaction- Throws:
Exception
- if problems were found rolling back the transaction
-
commitTransaction
Deprecated.As of SmartClient 8.0. UseHibernateTransaction.commitTransaction(com.isomorphic.datasource.DSTransaction)
insteadCommit and clean up the supplied transaction.- Throws:
Exception
- if problems were found committing the transaction
-