T - type of DSO represented.public abstract class AbstractHibernateDSODAO<T extends DSpaceObject> extends AbstractHibernateDAO<T>
Each DSO Database Access Object should extend this class to prevent code duplication.
| Constructor and Description |
|---|
AbstractHibernateDSODAO() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addMetadataLeftJoin(StringBuilder query,
String tableIdentifier,
Collection<MetadataField> metadataFields)
Add left outer join on all metadata fields which are passed to this function.
|
protected void |
addMetadataSortQuery(StringBuilder query,
List<MetadataField> metadataSortFields,
List<String> columnSortFields)
Append ORDER BY clause based on metadata fields or column names.
|
protected void |
addMetadataSortQuery(StringBuilder query,
List<MetadataField> metadataSortFields,
List<String> columnSortFields,
List<String> direction)
Append ORDER BY clause based on metadata fields or column names.
|
protected void |
addMetadataValueWhereQuery(StringBuilder query,
List<MetadataField> metadataFields,
String operator,
String additionalWhere)
Using the metadata tables mapped in the leftJoin, this function creates a where query which can check the values.
|
T |
findByLegacyId(Context context,
int legacyId,
Class<T> clazz)
Find a DSO by its "legacy ID".
|
count, count, countLong, create, createCriteria, createCriteria, createQuery, delete, findAll, findByID, findByID, findMany, findMany, findUnique, getHibernateSession, iterate, list, list, save, singleResult, singleResult, uniqueResult, uniqueResultpublic T findByLegacyId(Context context, int legacyId, Class<T> clazz) throws SQLException
context - current DSpace context.legacyId - the old integer record identifier.clazz - DSO subtype of record identified by legacyId.SQLExceptionprotected void addMetadataLeftJoin(StringBuilder query, String tableIdentifier, Collection<MetadataField> metadataFields)
query - the query string being built.tableIdentifier - name of the DSO type.metadataFields - names of the desired fields.protected void addMetadataValueWhereQuery(StringBuilder query, List<MetadataField> metadataFields, String operator, String additionalWhere)
query - the already existing query builder, all changes will be appendedmetadataFields - the metadata fields whose metadata value should be queriedoperator - can either be "=" or "like"additionalWhere - additional where queryprotected void addMetadataSortQuery(StringBuilder query, List<MetadataField> metadataSortFields, List<String> columnSortFields)
query - the query being built.metadataSortFields - fields on which to sort -- use this OR columnSortFields.columnSortFields - columns on which to sort -- use this OR metadataSortFields.protected void addMetadataSortQuery(StringBuilder query, List<MetadataField> metadataSortFields, List<String> columnSortFields, List<String> direction)
query - the query being built.metadataSortFields - fields on which to sort -- use this OR columnSortFields.columnSortFields - columns on which to sort -- use this OR metadataSortFields.direction - ASC or DESC for each field. Unspecified fields will be ASC.Copyright © 2022 LYRASIS. All rights reserved.