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

public Class PersistentTableMutationStrategy

extends PersistentTableStrategy
implements SqmMultiTableMutationStrategy
Class Inheritance
All Implemented Interfaces
org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy
Imports
org.hibernate.dialect.temptable.TemporaryTable, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.query.spi.DomainQueryExecutionContext, org.hibernate.query.sqm.internal.DomainParameterXref, org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy, org.hibernate.query.sqm.tree.delete.SqmDeleteStatement, org.hibernate.query.sqm.tree.update.SqmUpdateStatement

This is a strategy that mimics temporary tables for databases which do not support temporary tables. It follows a pattern similar to the ANSI SQL definition of global temporary table using a "session id" column to segment rows from the various sessions.
Author
Steve Ebersole

Field Summary

Inherited from org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy:
CATALOGCREATE_ID_TABLESDROP_ID_TABLESSCHEMASHORT_NAME

Constructor Summary

AccessConstructor and Description
public
PersistentTableMutationStrategy(TemporaryTable idTable, SessionFactoryImplementor sessionFactory)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
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 org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy:
getEntityDescriptorgetSessionFactorygetTemporaryTablepreparerelease

Constructor Detail

PersistentTableMutationStrategyback to summary
public PersistentTableMutationStrategy(TemporaryTable idTable, SessionFactoryImplementor sessionFactory)

Deprecated

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

Method Detail

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