Top Description Fields Constructors Methods
org.hibernate.query.sqm.mutation.internal.inline

public Class InlineMutationStrategy

extends Object
implements SqmMultiTableMutationStrategy
Class Inheritance
All Implemented Interfaces
org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy
Annotations
@SuppressWarnings:unused
Imports
java.util.function.Function, org.hibernate.dialect.Dialect, org.hibernate.query.spi.DomainQueryExecutionContext, org.hibernate.query.sqm.internal.DomainParameterXref, org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy, org.hibernate.query.sqm.tree.SqmDeleteOrUpdateStatement, org.hibernate.query.sqm.tree.delete.SqmDeleteStatement, org.hibernate.query.sqm.tree.update.SqmUpdateStatement

Support for multi-table SQM mutation operations which select the matching id values from the database back into the VM and uses that list of values to produce a restriction for the mutations. The exact form of that restriction is based on the MatchingIdRestrictionProducer implementation used
Authors
Vlad Mihalcea, Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final Function<SqmDeleteOrUpdateStatement<?>, MatchingIdRestrictionProducer>

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
private static Function<SqmDeleteOrUpdateStatement<?>, MatchingIdRestrictionProducer>
public int
executeDelete(SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context)

Implements org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy.executeDelete.

Execute the multi-table update indicated by the passed SqmUpdateStatement
public int
executeUpdate(SqmUpdateStatement<?> sqmUpdate, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context)

Implements org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy.executeUpdate.

Execute the multi-table update indicated by the passed SqmUpdateStatement
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

matchingIdsStrategyback to summary
private final Function<SqmDeleteOrUpdateStatement<?>, MatchingIdRestrictionProducer> matchingIdsStrategy

Constructor Detail

InlineMutationStrategyback to summary
public InlineMutationStrategy(Dialect dialect)
InlineMutationStrategyback to summary
public InlineMutationStrategy(Function<SqmDeleteOrUpdateStatement<?>, MatchingIdRestrictionProducer> matchingIdsStrategy)

Method Detail

determinePredicateProducerback to summary
private static Function<SqmDeleteOrUpdateStatement<?>, MatchingIdRestrictionProducer> determinePredicateProducer(Dialect dialect)
executeDeleteback to summary
public int executeDelete(SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context)

Implements org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy.executeDelete.

Doc from org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy.executeDelete.

Execute the multi-table update indicated by the passed SqmUpdateStatement

Returns:int

The number of rows affected

Annotations
@Override
executeUpdateback to summary
public int executeUpdate(SqmUpdateStatement<?> sqmUpdate, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context)

Implements org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy.executeUpdate.

Doc from org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy.executeUpdate.

Execute the multi-table update indicated by the passed SqmUpdateStatement

Returns:int

The number of rows affected

Annotations
@Override