Class CustomPostgreSQLDialect

java.lang.Object
org.hibernate.dialect.Dialect
org.hibernate.dialect.PostgreSQLDialect
org.activiti.cloud.dialect.CustomPostgreSQLDialect
All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor, org.hibernate.boot.model.TypeContributor, org.hibernate.exception.spi.ConversionContext

public class CustomPostgreSQLDialect extends org.hibernate.dialect.PostgreSQLDialect
Custom PostgreSQL dialect to add custom JSONB functions that abstract the PostgreSQL JSON operators.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.hibernate.dialect.Dialect

    org.hibernate.dialect.Dialect.SizeStrategy, org.hibernate.dialect.Dialect.SizeStrategyImpl
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Extracts the "value" field from a JSONB column and casts it to BOOLEAN.
    static final String
    Extracts the "value" field from a JSONB column and casts it to NUMERIC with a precision of 38 and a scale of 16.
    static final String
    Extracts the "value" field from a JSONB column and casts it to STRING.

    Fields inherited from class org.hibernate.dialect.PostgreSQLDialect

    driverKind, MINIMUM_VERSION

    Fields inherited from class org.hibernate.dialect.Dialect

    CLOSED_QUOTE, LEGACY_LOB_MERGE_STRATEGY, LOG_BASE2OF10, NEW_LOCATOR_LOB_MERGE_STRATEGY, QUOTE, STANDARD_MULTI_KEY_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
     
    void
    initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
     

    Methods inherited from class org.hibernate.dialect.PostgreSQLDialect

    addSqlHintOrComment, appendBinaryLiteral, appendBooleanValueString, appendDatetimeFormat, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, augmentRecognizedTableTypes, buildIdentifierHelper, buildSQLExceptionConversionDelegate, canBatchTruncate, castType, columnType, contributePostgreSQLTypes, contributeTypes, createOptionalTableUpdateOperation, currentTime, currentTimestamp, currentTimestampWithTimeZone, datetimeFormat, extractField, extractPattern, getAggregateSupport, getAlterColumnTypeString, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCreateEnumTypeCommand, getCurrentSchemaCommand, getCurrentTimestampSelectString, getDefaultIntervalSecondScale, getDefaultNonContextualLobCreation, getDefaultStatementBatchSize, getDmlTargetColumnQualifierSupport, getDropEnumTypeCommand, getEnumTypeDeclaration, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getFunctionalDependencyAnalysisSupport, getGroupBySelectItemReferenceStrategy, getIdentityColumnSupport, getLimitHandler, getMaxIdentifierLength, getMaxVarbinaryLength, getMaxVarcharCapacity, getMaxVarcharLength, getMinimumSupportedVersion, getNameQualifierSupport, getNationalizationSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getResultSet, getResultSet, getResultSet, getSelectClauseNullString, getSequenceSupport, getSqlAstTranslatorFactory, getTimeZoneSupport, getUniqueDelegate, getViolatedConstraintNameExtractor, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, isCurrentTimestampSelectStringCallable, qualifyIndexName, quoteCollation, registerColumnTypes, registerResultSetOutParameter, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeDescriptor, rowId, rowIdSqlType, supportsAlterColumnType, supportsCaseInsensitiveLike, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsCurrentTimestampSelection, supportsDistinctFromPredicate, supportsFetchClause, supportsFromClauseInUpdate, supportsIfExistsAfterAlterTable, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLateral, supportsLobValueChangePropagation, supportsMaterializedLobAccess, supportsMinMaxOnUuid, supportsNonQueryWithCTE, supportsNoWait, supportsOffsetInSubquery, supportsOuterJoinForUpdate, supportsPartitionBy, supportsRecursiveCTE, supportsSkipLocked, supportsStandardArrays, supportsTemporalLiteralOffset, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsValuesList, supportsWait, supportsWindowFunctions, timestampaddPattern, timestampdiffPattern, translateExtractField, useInputStreamToInsertBlob

    Methods inherited from class org.hibernate.dialect.Dialect

    appendArrayLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, canCreateCatalog, canCreateSchema, canDisableConstraints, castPattern, checkVersion, closeQuote, contribute, contributeFunctions, currentDate, currentLocalTime, currentLocalTimestamp, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, doesRoundTemporalOnOverflow, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnString, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getDefaultDecimalPrecision, getDefaultLobLength, getDefaultProperties, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDoublePrecision, getDropCatalogCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropSchemaCommand, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getFloatPrecision, getForeignKeyExporter, getForUpdateString, getForUpdateString, getForUpdateString, getHqlTranslator, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMultiKeyLoadSizingStrategy, getNullColumnString, getNullColumnString, getNullOrdering, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getPreferredSqlTypeCodeForBoolean, getQueryHintString, getReadRowLockStrategy, getRowIdColumnString, getSchemaNameResolver, getSelectGUIDString, getSequenceExporter, getSequenceInformationExtractor, getSizeStrategy, getSqmTranslatorFactory, getSupportedTemporaryTableKind, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTruncateTableStatement, getTruncateTableStatements, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, isLockTimeoutParameterized, openQuote, ordinal, prependComment, quote, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresCastForConcatenatingNonStrings, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, resolveSqlTypeCode, resolveSqlTypeLength, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBitType, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsFractionalTimestampArithmetic, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsLockTimeouts, supportsNamedParameters, supportsNoColumnsInsert, supportsNullPrecedence, supportsOrderByInSubquery, supportsOrdinalSelectItemReference, supportsParametersInInsertSelect, supportsPredicateAsExpression, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleDistinctCounts, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesListForInsert, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, trimPattern, trimPattern, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useCrossReferenceForeignKeys, useFollowOnLocking, useMaterializedLobWhenCapacityExceeded

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • EXTRACT_JSON_STRING_VALUE

      public static final String EXTRACT_JSON_STRING_VALUE
      Extracts the "value" field from a JSONB column and casts it to STRING.
      See Also:
    • EXTRACT_JSON_BOOLEAN_VALUE

      public static final String EXTRACT_JSON_BOOLEAN_VALUE
      Extracts the "value" field from a JSONB column and casts it to BOOLEAN.
      See Also:
    • EXTRACT_JSON_NUMERIC_VALUE

      public static final String EXTRACT_JSON_NUMERIC_VALUE
      Extracts the "value" field from a JSONB column and casts it to NUMERIC with a precision of 38 and a scale of 16.
      See Also:
  • Constructor Details

    • CustomPostgreSQLDialect

      public CustomPostgreSQLDialect()
  • Method Details

    • getExtractionFunctionName

      public static String getExtractionFunctionName(Class<?> type)
    • initializeFunctionRegistry

      public void initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
      Overrides:
      initializeFunctionRegistry in class org.hibernate.dialect.PostgreSQLDialect