Top Description Constructors Methods
org.hibernate.dialect

public Class SqlAstTranslatorWithUpsert<T extends org.hibernate.sql.exec.spi.JdbcOperation>

extends AbstractSqlAstTranslator<T extends JdbcOperation>
Class Inheritance
Known Direct Subclasses
org.hibernate.dialect.OracleSqlAstTranslator
Imports
java.util.List, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.persister.entity.mutation.EntityTableMapping, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.exec.spi.JdbcOperation, org.hibernate.sql.model.MutationOperation, org.hibernate.sql.model.ast.ColumnValueBinding, org.hibernate.sql.model.internal.OptionalTableUpdate, org.hibernate.sql.model.jdbc.DeleteOrUpsertOperation, .UpsertOperation

Base SqlAstTranslator for translators which support an insert-or-update (UPSERT) command
Author
Steve Ebersole

Constructor Summary

AccessConstructor and Description
protected
SqlAstTranslatorWithUpsert(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
public MutationOperation
createMergeOperation(OptionalTableUpdate optionalTableUpdate)

Create the MutationOperation for performing the DELETE or UPSERT

protected void
protected void
renderMergeInto(OptionalTableUpdate optionalTableUpdate)

protected void
renderMergeOn(OptionalTableUpdate optionalTableUpdate)

protected void
protected void
private void
protected void
protected void
protected void
private void
protected boolean
Inherited from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator:
addAdditionalWherePredicateaddAppliedParameterBindingappendappendappendappendBackslashEscapedLikeLiteralappendSqlappendSqlappendSqlappendSqlappendSqlapplyParameterareAllResultsParametersareAllResultsParametersassertRowsOnlyFetchClauseTypecastFunctioncastNumberToStringcleanupdetermineCyclePathColumnNamedetermineLateralEmulationPredicatedetermineLockingStrategydetermineWhereClauseRestrictionWithJoinEmulationemulateCycleClauseWithRowAndArrayemulateFetchOffsetWithWindowFunctionsemulateFetchOffsetWithWindowFunctionsemulateFetchOffsetWithWindowFunctionsVisitQueryPartemulateQuantifiedTupleSubQueryPredicateemulateQueryPartTableReferenceColumnAliasingemulateSearchClauseOrderWithRowAndArrayemulateSelectTupleComparisonemulateSortSpecificationNullPrecedenceemulateSubQueryRelationalRestrictionPredicateemulateTupleComparisonemulateValuesTableReferenceColumnAliasinggetAffectedTableNamesgetAppliedParameterBindingsgetArrayContainsFunctiongetBooleanTypegetCastTypeNamegetCastTypeNamegetClauseStackgetCteStatementgetCurrentClauseStackgetCurrentCteStatementgetCurrentDmlStatementgetCurrentQueryPartgetDialectgetDmlTargetTableAliasgetEffectiveLockModegetEffectiveLockModegetEffectiveLockTimeoutgetFetchClauseTypeForRowNumberinggetForSharegetForUpdategetForUpdateWithClausegetFromDualgetFromDualForSelectOnlygetIntegerTypegetJdbcLockStrategygetJdbcParameterBindingsgetJdbcServicesgetLeftHandExpressiongetLimitgetLimitParametergetLockOptionsgetMaxRowsgetNoWaitgetOffsetParametergetParameterBindersgetParameterBindValuegetParameterRenderingModegetQueryPartForRowNumberinggetQueryPartStackgetRowsToSkipgetSelectItemReferencegetSessionFactorygetSkipLockedgetSortSpecificationsRowNumberinggetSqlgetSqlAppendergetSqlBuffergetSqlTypeNamegetSqlTypeNamegetStatementgetStringTypegetWrapperOptionshasAggregateFunctionshasLimithasLimithasNestedTableGroupsToRenderhasOffsetinlineCteTableGroupinOverOrWithinGroupClauseinterpretExpressionisCorrelatedisInRecursiveQueryPartisLiteralisParameterisRowNumberingCurrentQueryPartisRowsOnlyFetchClauseTypeisStructneedsCteInliningneedsLockingneedsMaxRowsneedsRecursiveKeywordInWithClauseneedsRowsToSkipprepareLimitOffsetParametersprocessNestedTableGroupJoinsprocessTableGroupJoinprocessTableGroupJoinsregisterAffectedTableregisterAffectedTablerenderrenderAsLiteralrenderBackslashEscapedLikePatternrenderCaseInsensitiveLikeEmulationrenderCastedrenderCombinedLimitClauserenderCombinedLimitClauserenderCommaSeparatedrenderCommaSeparatedSelectExpressionrenderCommaSeparatedSelectExpressionrenderComparisonrenderComparisonDistinctOperatorrenderComparisonEmulateCaserenderComparisonEmulateDecoderenderComparisonEmulateDecoderenderComparisonEmulateIntersectrenderComparisonStandardrenderCteColumnsrenderCycleClauserenderDerivedTableReferencerenderExpressionAsClauseItemrenderExpressionAsLiteralrenderExpressionsAsSubqueryrenderFetchrenderFetchExpressionrenderFetchPlusOffsetExpressionrenderFetchPlusOffsetExpressionAsLiteralrenderFetchPlusOffsetExpressionAsSingleParameterrenderFirstClauserenderFirstClauserenderFirstSkipClauserenderFirstSkipClauserenderForUpdateClauserenderInsertIntoNoColumnsrenderIntoIntoAndTablerenderLimitOffsetClauserenderLimitOffsetClauserenderLiteralrenderMaterializationHintrenderNamedTableReferencerenderOffsetrenderOffsetExpressionrenderOffsetFetchClauserenderOffsetFetchClauserenderOrderByrenderParameterAsParameterrenderParameterAsParameterrenderPartitionItemrenderPrimaryTableReferencerenderQueryGrouprenderRecursiveCteVirtualSelectionsrenderRootTableGrouprenderRowNumberrenderRowNumberingSelectItemsrenderRowsToClauserenderRowsToClauserenderSearchClauserenderSelectExpressionrenderSelectExpressionWithCastedOrInlinedPlainParametersrenderSelectSimpleComparisonrenderSelectTupleComparisonrenderSetClauserenderSkipFirstClauserenderSkipFirstClauserendersTableReferenceAliasrenderStandardCycleClauserenderStandardSearchClauserenderStringContainsExactlyPredicaterenderTableGrouprenderTableGroupJoinrenderTableReferenceIdentificationVariablerenderTableReferenceJoinsrenderTopClauserenderTopClauserenderTopStartAtClauserenderTopStartAtClauserenderTupleComparisonStandardrenderVirtualSelectionsresolveAliasedExpressionresolveAliasedExpressionresolveExpressionToAliassetLimitParametersetOffsetParametershouldEmulateLateralWithIntersectshouldInlineCtesimpleColumnWriteFragmentRenderingsupportsArrayConstructorsupportsDistinctFromPredicatesupportsDuplicateSelectItemsInQueryGroupsupportsFilterClausesupportsIntersectsupportsJoinInMutationStatementSubquerysupportsNestedSubqueryCorrelationsupportsNestedWithClausesupportsNullPrecedencesupportsQuantifiedPredicatessupportsRecursiveClauseArrayAndRowEmulationsupportsRecursiveCycleClausesupportsRecursiveCycleUsingClausesupportsRecursiveSearchClausesupportsRowConstructorsupportsRowValueConstructorDistinctFromSyntaxsupportsRowValueConstructorGtLtSyntaxsupportsRowValueConstructorSyntaxsupportsRowValueConstructorSyntaxInInListsupportsRowValueConstructorSyntaxInInSubQuerysupportsRowValueConstructorSyntaxInQuantifiedPredicatessupportsRowValueConstructorSyntaxInSetsupportsSimpleQueryGroupingsupportsWithClausesupportsWithClauseInSubquerytranslatetranslateDeletetranslateInserttranslateSelecttranslateUpdateuseOffsetFetchClausevisitAggregateColumnWriteExpressionvisitAnsiCaseSearchedExpressionvisitAnsiCaseSimpleExpressionvisitAnyvisitAssignmentvisitBetweenPredicatevisitBinaryArithmeticExpressionvisitBooleanExpressionPredicatevisitCaseSearchedExpressionvisitCaseSearchedExpressionvisitCaseSimpleExpressionvisitCaseSimpleExpressionvisitCastTargetvisitCollationvisitColumnReferencevisitColumnWriteFragmentvisitConversionvisitCteContainervisitCteDefinitionvisitCteObjectvisitCustomTableDeletevisitCustomTableInsertvisitCustomTableUpdatevisitDecodeCaseSearchedExpressionvisitDeleteStatementvisitDeleteStatementOnlyvisitDistinctvisitDurationvisitDurationUnitvisitEntityTypeLiteralvisitEveryvisitExistsPredicatevisitExtractUnitvisitFilterFragmentPredicatevisitFilterPredicatevisitFormatvisitForUpdateClausevisitFromClausevisitFunctionTableReferencevisitGroupByClausevisitGroupedPredicatevisitHavingClausevisitInArrayPredicatevisitInListPredicatevisitInsertStatementvisitInsertStatementOnlyvisitInSubQueryPredicatevisitJdbcLiteralvisitJunctionvisitLikePredicatevisitModifiedSubQueryExpressionvisitNamedTableReferencevisitNegatedPredicatevisitNullnessPredicatevisitOffsetFetchClausevisitOptionalTableUpdatevisitOrderByvisitOvervisitOverClausevisitOverClausevisitOverflowvisitParametervisitParameterAsParametervisitPartitionByClausevisitPartitionExpressionsvisitPartitionExpressionsvisitQueryGroupvisitQueryLiteralvisitQueryPartTableReferencevisitQuerySpecvisitRecursivePathvisitRelationalPredicatevisitReturningColumnsvisitReturningColumnsvisitSelectClausevisitSelectStatementvisitSelfRenderingExpressionvisitSelfRenderingPredicatevisitSetAssignmentvisitSortSpecificationvisitSortSpecificationvisitSqlFragmentPredicatevisitSqlSelectExpressionvisitSqlSelectionvisitSqlSelectionExpressionvisitSqlSelectionsvisitStandardTableDeletevisitStandardTableInsertvisitStandardTableUpdatevisitStarvisitSummarizationvisitTableGroupvisitTableGroupJoinvisitTableReferenceJoinvisitThruthnessPredicatevisitTrimSpecificationvisitTuplevisitUnaryOperationExpressionvisitUnparsedNumericLiteralvisitUpdateStatementvisitUpdateStatementOnlyvisitValuesListvisitValuesListEmulateSelectUnionvisitValuesListStandardvisitValuesTableReferencevisitWhereClausewithParameterRenderingModewithRowNumbering

Constructor Detail

SqlAstTranslatorWithUpsertback to summary
protected SqlAstTranslatorWithUpsert(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Method Detail

createMergeOperationback to summary
public MutationOperation createMergeOperation(OptionalTableUpdate optionalTableUpdate)

Create the MutationOperation for performing the DELETE or UPSERT

renderMergeInsertback to summary
protected void renderMergeInsert(OptionalTableUpdate optionalTableUpdate)
renderMergeIntoback to summary
protected void renderMergeInto(OptionalTableUpdate optionalTableUpdate)
renderMergeOnback to summary
protected void renderMergeOn(OptionalTableUpdate optionalTableUpdate)
renderMergeSourceback to summary
protected void renderMergeSource(OptionalTableUpdate optionalTableUpdate)
renderMergeSourceAliasback to summary
protected void renderMergeSourceAlias()
renderMergeTargetback to summary
private void renderMergeTarget(OptionalTableUpdate optionalTableUpdate)
renderMergeTargetAliasback to summary
protected void renderMergeTargetAlias()
renderMergeUpdateback to summary
protected void renderMergeUpdate(OptionalTableUpdate optionalTableUpdate)
renderMergeUsingback to summary
protected void renderMergeUsing(OptionalTableUpdate optionalTableUpdate)
renderUpsertStatementback to summary
private void renderUpsertStatement(OptionalTableUpdate optionalTableUpdate)
wrapMergeSourceExpressionback to summary
protected boolean wrapMergeSourceExpression()