Top Description Constructors Methods
org.hibernate.dialect

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

extends AbstractSqlAstTranslator<T extends JdbcOperation>
Class Inheritance
Known Direct Subclasses
org.hibernate.dialect.SQLServerSqlAstTranslator, org.hibernate.dialect.H2SqlAstTranslator, org.hibernate.dialect.PostgreSQLSqlAstTranslator
Imports
java.util.List, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.internal.util.StringHelper, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.exec.spi.JdbcOperation, org.hibernate.sql.model.ast.ColumnValueBinding, org.hibernate.sql.model.internal.OptionalTableUpdate, org.hibernate.sql.model.jdbc.MergeOperation

Base for translators which support a full insert-or-update-or-delete (MERGE) command.

Use createMergeOperation(OptionalTableUpdate) to translate an OptionalTableUpdate into an executable MergeOperation operation.

Author
Steve Ebersole

Constructor Summary

AccessConstructor and Description
public
SqlAstTranslatorWithMerge(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

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

Create the MutationOperation for performing a MERGE.

protected void
protected void
protected void
renderMergeInto(OptionalTableUpdate optionalTableUpdate)

protected void
renderMergeOn(OptionalTableUpdate optionalTableUpdate)

protected void
protected void
renderMergeStatement(OptionalTableUpdate optionalTableUpdate)

Renders the OptionalTableUpdate as a MERGE query.

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

Constructor Detail

SqlAstTranslatorWithMergeback to summary
public SqlAstTranslatorWithMerge(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated

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

Method Detail

createMergeOperationback to summary
public MergeOperation createMergeOperation(OptionalTableUpdate optionalTableUpdate)

Create the MutationOperation for performing a MERGE.

The OptionalTableUpdate is translated and wrapped as a MutationOperation

renderMergeDeleteback to summary
protected void renderMergeDelete(OptionalTableUpdate optionalTableUpdate)
renderMergeInsertback to summary
protected void renderMergeInsert(OptionalTableUpdate optionalTableUpdate)
renderMergeIntoback to summary
protected void renderMergeInto(OptionalTableUpdate optionalTableUpdate)
renderMergeOnback to summary
protected void renderMergeOn(OptionalTableUpdate optionalTableUpdate)
renderMergeSourceAliasback to summary
protected void renderMergeSourceAlias()
renderMergeStatementback to summary
protected void renderMergeStatement(OptionalTableUpdate optionalTableUpdate)

Renders the OptionalTableUpdate as a MERGE query.

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)
renderMergeUsingQueryback to summary
private void renderMergeUsingQuery(OptionalTableUpdate optionalTableUpdate)
renderMergeUsingQuerySelectionback to summary
protected void renderMergeUsingQuerySelection(ColumnValueBinding selectionBinding)