|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.hibernate.dialect.Dialect
com.liferay.portal.dao.orm.hibernate.DynamicDialect
com.liferay.portal.spring.hibernate.PortalHibernateConfiguration
injects the dialect dynamically.
public class DynamicDialect
Field Summary |
---|
Fields inherited from class org.hibernate.dialect.Dialect |
---|
CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE |
Constructor Summary | |
---|---|
DynamicDialect()
Deprecated. |
Method Summary | |
---|---|
java.lang.String |
appendIdentitySelectToInsert(java.lang.String insertSQL)
Deprecated. |
java.lang.String |
appendLockHint(org.hibernate.LockMode mode,
java.lang.String tableName)
Deprecated. |
java.lang.String |
applyLocksToSql(java.lang.String sql,
java.util.Map aliasedLockModes,
java.util.Map keyColumnNames)
Deprecated. |
boolean |
areStringComparisonsCaseInsensitive()
Deprecated. |
boolean |
bindLimitParametersFirst()
Deprecated. |
boolean |
bindLimitParametersInReverseOrder()
Deprecated. |
org.hibernate.exception.SQLExceptionConverter |
buildSQLExceptionConverter()
Deprecated. |
char |
closeQuote()
Deprecated. |
org.hibernate.sql.CaseFragment |
createCaseFragment()
Deprecated. |
org.hibernate.sql.JoinFragment |
createOuterJoinFragment()
Deprecated. |
boolean |
doesReadCommittedCauseWritersToBlockReaders()
Deprecated. |
boolean |
doesRepeatableReadCauseReadersToBlockWriters()
Deprecated. |
boolean |
dropConstraints()
Deprecated. |
boolean |
dropTemporaryTableAfterUse()
Deprecated. |
boolean |
forUpdateOfColumns()
Deprecated. |
java.lang.String |
generateTemporaryTableName(java.lang.String baseTableName)
Deprecated. |
java.lang.String |
getAddColumnString()
Deprecated. |
java.lang.String |
getAddForeignKeyConstraintString(java.lang.String constraintName,
java.lang.String[] foreignKey,
java.lang.String referencedTable,
java.lang.String[] primaryKey,
boolean referencesPrimaryKey)
Deprecated. |
java.lang.String |
getAddPrimaryKeyConstraintString(java.lang.String constraintName)
Deprecated. |
java.lang.String |
getCascadeConstraintsString()
Deprecated. |
java.lang.String |
getCastTypeName(int code)
Deprecated. |
java.lang.String |
getColumnComment(java.lang.String comment)
Deprecated. |
java.lang.String |
getCreateMultisetTableString()
Deprecated. |
java.lang.String[] |
getCreateSequenceStrings(java.lang.String sequenceName)
Deprecated. |
java.lang.String[] |
getCreateSequenceStrings(java.lang.String sequenceName,
int initialValue,
int incrementSize)
Deprecated. |
java.lang.String |
getCreateTableString()
Deprecated. |
java.lang.String |
getCreateTemporaryTablePostfix()
Deprecated. |
java.lang.String |
getCreateTemporaryTableString()
Deprecated. |
java.lang.String |
getCurrentTimestampSelectString()
Deprecated. |
java.lang.String |
getCurrentTimestampSQLFunctionName()
Deprecated. |
java.lang.String |
getDropForeignKeyString()
Deprecated. |
java.lang.String[] |
getDropSequenceStrings(java.lang.String sequenceName)
Deprecated. |
java.lang.String |
getForUpdateNowaitString()
Deprecated. |
java.lang.String |
getForUpdateNowaitString(java.lang.String aliases)
Deprecated. |
java.lang.String |
getForUpdateString()
Deprecated. |
java.lang.String |
getForUpdateString(org.hibernate.LockMode lockMode)
Deprecated. |
java.lang.String |
getForUpdateString(java.lang.String aliases)
Deprecated. |
java.lang.String |
getHibernateTypeName(int code)
Deprecated. |
java.lang.String |
getHibernateTypeName(int code,
int length,
int precision,
int scale)
Deprecated. |
java.lang.String |
getIdentityColumnString(int type)
Deprecated. |
java.lang.String |
getIdentityInsertString()
Deprecated. |
java.lang.String |
getIdentitySelectString(java.lang.String table,
java.lang.String column,
int type)
Deprecated. |
java.util.Set<java.lang.String> |
getKeywords()
Deprecated. |
java.lang.String |
getLimitString(java.lang.String querySelect,
int hasOffset,
int limit)
Deprecated. |
org.hibernate.dialect.lock.LockingStrategy |
getLockingStrategy(org.hibernate.persister.entity.Lockable lockable,
org.hibernate.LockMode lockMode)
Deprecated. |
java.lang.String |
getLowercaseFunction()
Deprecated. |
int |
getMaxAliasLength()
Deprecated. |
java.lang.Class<?> |
getNativeIdentifierGeneratorClass()
Deprecated. |
java.lang.String |
getNoColumnsInsertString()
Deprecated. |
java.lang.String |
getNullColumnString()
Deprecated. |
java.lang.String |
getQuerySequencesString()
Deprecated. |
java.sql.ResultSet |
getResultSet(java.sql.CallableStatement ps)
Deprecated. |
java.lang.String |
getSelectClauseNullString(int sqlType)
Deprecated. |
java.lang.String |
getSelectGUIDString()
Deprecated. |
java.lang.String |
getSelectSequenceNextValString(java.lang.String sequenceName)
Deprecated. |
java.lang.String |
getSequenceNextValString(java.lang.String sequenceName)
Deprecated. |
java.lang.String |
getTableComment(java.lang.String comment)
Deprecated. |
java.lang.String |
getTableTypeString()
Deprecated. |
java.lang.String |
getTypeName(int code)
Deprecated. |
java.lang.String |
getTypeName(int code,
int length,
int precision,
int scale)
Deprecated. |
org.hibernate.exception.ViolatedConstraintNameExtracter |
getViolatedConstraintNameExtracter()
Deprecated. |
org.hibernate.dialect.Dialect |
getWrappedDialect()
Deprecated. |
boolean |
hasAlterTable()
Deprecated. |
boolean |
hasDataTypeInIdentityColumn()
Deprecated. |
boolean |
hasSelfReferentialForeignKeyBug()
Deprecated. |
boolean |
isCurrentTimestampSelectStringCallable()
Deprecated. |
char |
openQuote()
Deprecated. |
java.lang.Boolean |
performTemporaryTableDDLInIsolation()
Deprecated. |
boolean |
qualifyIndexName()
Deprecated. |
int |
registerResultSetOutParameter(java.sql.CallableStatement statement,
int col)
Deprecated. |
boolean |
supportsBindAsCallableArgument()
Deprecated. |
boolean |
supportsCascadeDelete()
Deprecated. |
boolean |
supportsCircularCascadeDeleteConstraints()
Deprecated. |
boolean |
supportsColumnCheck()
Deprecated. |
boolean |
supportsCommentOn()
Deprecated. |
boolean |
supportsCurrentTimestampSelection()
Deprecated. |
boolean |
supportsEmptyInList()
Deprecated. |
boolean |
supportsExistsInSelect()
Deprecated. |
boolean |
supportsExpectedLobUsagePattern()
Deprecated. |
boolean |
supportsIdentityColumns()
Deprecated. |
boolean |
supportsIfExistsAfterTableName()
Deprecated. |
boolean |
supportsIfExistsBeforeTableName()
Deprecated. |
boolean |
supportsInsertSelectIdentity()
Deprecated. |
boolean |
supportsLimit()
Deprecated. |
boolean |
supportsLimitOffset()
Deprecated. |
boolean |
supportsLobValueChangePropogation()
Deprecated. |
boolean |
supportsNotNullUnique()
Deprecated. |
boolean |
supportsOuterJoinForUpdate()
Deprecated. |
boolean |
supportsParametersInInsertSelect()
Deprecated. |
boolean |
supportsPooledSequences()
Deprecated. |
boolean |
supportsResultSetPositionQueryMethodsOnForwardOnlyCursor()
Deprecated. |
boolean |
supportsRowValueConstructorSyntax()
Deprecated. |
boolean |
supportsRowValueConstructorSyntaxInInList()
Deprecated. |
boolean |
supportsSequences()
Deprecated. |
boolean |
supportsSubqueryOnMutatingTable()
Deprecated. |
boolean |
supportsSubselectAsInPredicateLHS()
Deprecated. |
boolean |
supportsTableCheck()
Deprecated. |
boolean |
supportsTemporaryTables()
Deprecated. |
boolean |
supportsUnboundedLobLocatorMaterialization()
Deprecated. |
boolean |
supportsUnionAll()
Deprecated. |
boolean |
supportsUnique()
Deprecated. |
boolean |
supportsUniqueConstraintInCreateAlterTable()
Deprecated. |
boolean |
supportsVariableLimit()
Deprecated. |
java.lang.String |
toBooleanValueString(boolean bool)
Deprecated. |
java.lang.String |
toString()
Deprecated. |
java.lang.String |
transformSelectString(java.lang.String select)
Deprecated. |
boolean |
useInputStreamToInsertBlob()
Deprecated. |
boolean |
useMaxForLimit()
Deprecated. |
Methods inherited from class org.hibernate.dialect.Dialect |
---|
getCreateSequenceString, getCreateSequenceString, getDefaultProperties, getDialect, getDialect, getDropSequenceString, getFunctions, getIdentityColumnString, getIdentitySelectString, getLimitString, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DynamicDialect()
Method Detail |
---|
public org.hibernate.dialect.Dialect getWrappedDialect()
public java.lang.String appendIdentitySelectToInsert(java.lang.String insertSQL)
appendIdentitySelectToInsert
in class org.hibernate.dialect.Dialect
public java.lang.String appendLockHint(org.hibernate.LockMode mode, java.lang.String tableName)
appendLockHint
in class org.hibernate.dialect.Dialect
public java.lang.String applyLocksToSql(java.lang.String sql, java.util.Map aliasedLockModes, java.util.Map keyColumnNames)
applyLocksToSql
in class org.hibernate.dialect.Dialect
public boolean areStringComparisonsCaseInsensitive()
areStringComparisonsCaseInsensitive
in class org.hibernate.dialect.Dialect
public boolean bindLimitParametersFirst()
bindLimitParametersFirst
in class org.hibernate.dialect.Dialect
public boolean bindLimitParametersInReverseOrder()
bindLimitParametersInReverseOrder
in class org.hibernate.dialect.Dialect
public org.hibernate.exception.SQLExceptionConverter buildSQLExceptionConverter()
buildSQLExceptionConverter
in class org.hibernate.dialect.Dialect
public char closeQuote()
closeQuote
in class org.hibernate.dialect.Dialect
public org.hibernate.sql.CaseFragment createCaseFragment()
createCaseFragment
in class org.hibernate.dialect.Dialect
public org.hibernate.sql.JoinFragment createOuterJoinFragment()
createOuterJoinFragment
in class org.hibernate.dialect.Dialect
public boolean doesReadCommittedCauseWritersToBlockReaders()
doesReadCommittedCauseWritersToBlockReaders
in class org.hibernate.dialect.Dialect
public boolean doesRepeatableReadCauseReadersToBlockWriters()
doesRepeatableReadCauseReadersToBlockWriters
in class org.hibernate.dialect.Dialect
public boolean dropConstraints()
dropConstraints
in class org.hibernate.dialect.Dialect
public boolean dropTemporaryTableAfterUse()
dropTemporaryTableAfterUse
in class org.hibernate.dialect.Dialect
public boolean forUpdateOfColumns()
forUpdateOfColumns
in class org.hibernate.dialect.Dialect
public java.lang.String generateTemporaryTableName(java.lang.String baseTableName)
generateTemporaryTableName
in class org.hibernate.dialect.Dialect
public java.lang.String getAddColumnString()
getAddColumnString
in class org.hibernate.dialect.Dialect
public java.lang.String getAddForeignKeyConstraintString(java.lang.String constraintName, java.lang.String[] foreignKey, java.lang.String referencedTable, java.lang.String[] primaryKey, boolean referencesPrimaryKey)
getAddForeignKeyConstraintString
in class org.hibernate.dialect.Dialect
public java.lang.String getAddPrimaryKeyConstraintString(java.lang.String constraintName)
getAddPrimaryKeyConstraintString
in class org.hibernate.dialect.Dialect
public java.lang.String getCascadeConstraintsString()
getCascadeConstraintsString
in class org.hibernate.dialect.Dialect
public java.lang.String getCastTypeName(int code)
getCastTypeName
in class org.hibernate.dialect.Dialect
public java.lang.String getColumnComment(java.lang.String comment)
getColumnComment
in class org.hibernate.dialect.Dialect
public java.lang.String getCreateMultisetTableString()
getCreateMultisetTableString
in class org.hibernate.dialect.Dialect
public java.lang.String[] getCreateSequenceStrings(java.lang.String sequenceName) throws org.hibernate.MappingException
getCreateSequenceStrings
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.lang.String[] getCreateSequenceStrings(java.lang.String sequenceName, int initialValue, int incrementSize) throws org.hibernate.MappingException
getCreateSequenceStrings
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.lang.String getCreateTableString()
getCreateTableString
in class org.hibernate.dialect.Dialect
public java.lang.String getCreateTemporaryTablePostfix()
getCreateTemporaryTablePostfix
in class org.hibernate.dialect.Dialect
public java.lang.String getCreateTemporaryTableString()
getCreateTemporaryTableString
in class org.hibernate.dialect.Dialect
public java.lang.String getCurrentTimestampSelectString()
getCurrentTimestampSelectString
in class org.hibernate.dialect.Dialect
public java.lang.String getCurrentTimestampSQLFunctionName()
getCurrentTimestampSQLFunctionName
in class org.hibernate.dialect.Dialect
public java.lang.String getDropForeignKeyString()
getDropForeignKeyString
in class org.hibernate.dialect.Dialect
public java.lang.String[] getDropSequenceStrings(java.lang.String sequenceName) throws org.hibernate.MappingException
getDropSequenceStrings
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.lang.String getForUpdateNowaitString()
getForUpdateNowaitString
in class org.hibernate.dialect.Dialect
public java.lang.String getForUpdateNowaitString(java.lang.String aliases)
getForUpdateNowaitString
in class org.hibernate.dialect.Dialect
public java.lang.String getForUpdateString()
getForUpdateString
in class org.hibernate.dialect.Dialect
public java.lang.String getForUpdateString(org.hibernate.LockMode lockMode)
getForUpdateString
in class org.hibernate.dialect.Dialect
public java.lang.String getForUpdateString(java.lang.String aliases)
getForUpdateString
in class org.hibernate.dialect.Dialect
public java.lang.String getHibernateTypeName(int code) throws org.hibernate.HibernateException
getHibernateTypeName
in class org.hibernate.dialect.Dialect
org.hibernate.HibernateException
public java.lang.String getHibernateTypeName(int code, int length, int precision, int scale) throws org.hibernate.HibernateException
getHibernateTypeName
in class org.hibernate.dialect.Dialect
org.hibernate.HibernateException
public java.lang.String getIdentityColumnString(int type) throws org.hibernate.MappingException
getIdentityColumnString
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.lang.String getIdentityInsertString()
getIdentityInsertString
in class org.hibernate.dialect.Dialect
public java.lang.String getIdentitySelectString(java.lang.String table, java.lang.String column, int type) throws org.hibernate.MappingException
getIdentitySelectString
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.util.Set<java.lang.String> getKeywords()
getKeywords
in class org.hibernate.dialect.Dialect
public java.lang.String getLimitString(java.lang.String querySelect, int hasOffset, int limit)
getLimitString
in class org.hibernate.dialect.Dialect
public org.hibernate.dialect.lock.LockingStrategy getLockingStrategy(org.hibernate.persister.entity.Lockable lockable, org.hibernate.LockMode lockMode)
getLockingStrategy
in class org.hibernate.dialect.Dialect
public java.lang.String getLowercaseFunction()
getLowercaseFunction
in class org.hibernate.dialect.Dialect
public int getMaxAliasLength()
getMaxAliasLength
in class org.hibernate.dialect.Dialect
public java.lang.Class<?> getNativeIdentifierGeneratorClass()
getNativeIdentifierGeneratorClass
in class org.hibernate.dialect.Dialect
public java.lang.String getNoColumnsInsertString()
getNoColumnsInsertString
in class org.hibernate.dialect.Dialect
public java.lang.String getNullColumnString()
getNullColumnString
in class org.hibernate.dialect.Dialect
public java.lang.String getQuerySequencesString()
getQuerySequencesString
in class org.hibernate.dialect.Dialect
public java.sql.ResultSet getResultSet(java.sql.CallableStatement ps) throws java.sql.SQLException
getResultSet
in class org.hibernate.dialect.Dialect
java.sql.SQLException
public java.lang.String getSelectClauseNullString(int sqlType)
getSelectClauseNullString
in class org.hibernate.dialect.Dialect
public java.lang.String getSelectGUIDString()
getSelectGUIDString
in class org.hibernate.dialect.Dialect
public java.lang.String getSelectSequenceNextValString(java.lang.String sequenceName) throws org.hibernate.MappingException
getSelectSequenceNextValString
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.lang.String getSequenceNextValString(java.lang.String sequenceName) throws org.hibernate.MappingException
getSequenceNextValString
in class org.hibernate.dialect.Dialect
org.hibernate.MappingException
public java.lang.String getTableComment(java.lang.String comment)
getTableComment
in class org.hibernate.dialect.Dialect
public java.lang.String getTableTypeString()
getTableTypeString
in class org.hibernate.dialect.Dialect
public java.lang.String getTypeName(int code) throws org.hibernate.HibernateException
getTypeName
in class org.hibernate.dialect.Dialect
org.hibernate.HibernateException
public java.lang.String getTypeName(int code, int length, int precision, int scale) throws org.hibernate.HibernateException
getTypeName
in class org.hibernate.dialect.Dialect
org.hibernate.HibernateException
public org.hibernate.exception.ViolatedConstraintNameExtracter getViolatedConstraintNameExtracter()
getViolatedConstraintNameExtracter
in class org.hibernate.dialect.Dialect
public boolean hasAlterTable()
hasAlterTable
in class org.hibernate.dialect.Dialect
public boolean hasDataTypeInIdentityColumn()
hasDataTypeInIdentityColumn
in class org.hibernate.dialect.Dialect
public boolean hasSelfReferentialForeignKeyBug()
hasSelfReferentialForeignKeyBug
in class org.hibernate.dialect.Dialect
public boolean isCurrentTimestampSelectStringCallable()
isCurrentTimestampSelectStringCallable
in class org.hibernate.dialect.Dialect
public char openQuote()
openQuote
in class org.hibernate.dialect.Dialect
public java.lang.Boolean performTemporaryTableDDLInIsolation()
performTemporaryTableDDLInIsolation
in class org.hibernate.dialect.Dialect
public boolean qualifyIndexName()
qualifyIndexName
in class org.hibernate.dialect.Dialect
public int registerResultSetOutParameter(java.sql.CallableStatement statement, int col) throws java.sql.SQLException
registerResultSetOutParameter
in class org.hibernate.dialect.Dialect
java.sql.SQLException
public boolean supportsBindAsCallableArgument()
supportsBindAsCallableArgument
in class org.hibernate.dialect.Dialect
public boolean supportsCascadeDelete()
supportsCascadeDelete
in class org.hibernate.dialect.Dialect
public boolean supportsCircularCascadeDeleteConstraints()
supportsCircularCascadeDeleteConstraints
in class org.hibernate.dialect.Dialect
public boolean supportsColumnCheck()
supportsColumnCheck
in class org.hibernate.dialect.Dialect
public boolean supportsCommentOn()
supportsCommentOn
in class org.hibernate.dialect.Dialect
public boolean supportsCurrentTimestampSelection()
supportsCurrentTimestampSelection
in class org.hibernate.dialect.Dialect
public boolean supportsEmptyInList()
supportsEmptyInList
in class org.hibernate.dialect.Dialect
public boolean supportsExistsInSelect()
supportsExistsInSelect
in class org.hibernate.dialect.Dialect
public boolean supportsExpectedLobUsagePattern()
supportsExpectedLobUsagePattern
in class org.hibernate.dialect.Dialect
public boolean supportsIdentityColumns()
supportsIdentityColumns
in class org.hibernate.dialect.Dialect
public boolean supportsIfExistsAfterTableName()
supportsIfExistsAfterTableName
in class org.hibernate.dialect.Dialect
public boolean supportsIfExistsBeforeTableName()
supportsIfExistsBeforeTableName
in class org.hibernate.dialect.Dialect
public boolean supportsInsertSelectIdentity()
supportsInsertSelectIdentity
in class org.hibernate.dialect.Dialect
public boolean supportsLimit()
supportsLimit
in class org.hibernate.dialect.Dialect
public boolean supportsLimitOffset()
supportsLimitOffset
in class org.hibernate.dialect.Dialect
public boolean supportsLobValueChangePropogation()
supportsLobValueChangePropogation
in class org.hibernate.dialect.Dialect
public boolean supportsNotNullUnique()
supportsNotNullUnique
in class org.hibernate.dialect.Dialect
public boolean supportsOuterJoinForUpdate()
supportsOuterJoinForUpdate
in class org.hibernate.dialect.Dialect
public boolean supportsParametersInInsertSelect()
supportsParametersInInsertSelect
in class org.hibernate.dialect.Dialect
public boolean supportsPooledSequences()
supportsPooledSequences
in class org.hibernate.dialect.Dialect
public boolean supportsResultSetPositionQueryMethodsOnForwardOnlyCursor()
supportsResultSetPositionQueryMethodsOnForwardOnlyCursor
in class org.hibernate.dialect.Dialect
public boolean supportsRowValueConstructorSyntax()
supportsRowValueConstructorSyntax
in class org.hibernate.dialect.Dialect
public boolean supportsRowValueConstructorSyntaxInInList()
supportsRowValueConstructorSyntaxInInList
in class org.hibernate.dialect.Dialect
public boolean supportsSequences()
supportsSequences
in class org.hibernate.dialect.Dialect
public boolean supportsSubqueryOnMutatingTable()
supportsSubqueryOnMutatingTable
in class org.hibernate.dialect.Dialect
public boolean supportsSubselectAsInPredicateLHS()
supportsSubselectAsInPredicateLHS
in class org.hibernate.dialect.Dialect
public boolean supportsTableCheck()
supportsTableCheck
in class org.hibernate.dialect.Dialect
public boolean supportsTemporaryTables()
supportsTemporaryTables
in class org.hibernate.dialect.Dialect
public boolean supportsUnboundedLobLocatorMaterialization()
supportsUnboundedLobLocatorMaterialization
in class org.hibernate.dialect.Dialect
public boolean supportsUnionAll()
supportsUnionAll
in class org.hibernate.dialect.Dialect
public boolean supportsUnique()
supportsUnique
in class org.hibernate.dialect.Dialect
public boolean supportsUniqueConstraintInCreateAlterTable()
supportsUniqueConstraintInCreateAlterTable
in class org.hibernate.dialect.Dialect
public boolean supportsVariableLimit()
supportsVariableLimit
in class org.hibernate.dialect.Dialect
public java.lang.String toBooleanValueString(boolean bool)
toBooleanValueString
in class org.hibernate.dialect.Dialect
public java.lang.String toString()
toString
in class org.hibernate.dialect.Dialect
public java.lang.String transformSelectString(java.lang.String select)
transformSelectString
in class org.hibernate.dialect.Dialect
public boolean useInputStreamToInsertBlob()
useInputStreamToInsertBlob
in class org.hibernate.dialect.Dialect
public boolean useMaxForLimit()
useMaxForLimit
in class org.hibernate.dialect.Dialect
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |