Class PersistentTableMutationStrategy
java.lang.Object
org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy
org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableMutationStrategy
- All Implemented Interfaces:
SqmMultiTableMutationStrategy
public class PersistentTableMutationStrategy
extends PersistentTableStrategy
implements SqmMultiTableMutationStrategy
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.
-
Field Summary
Fields inherited from class org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy
CATALOG, CREATE_ID_TABLES, DROP_ID_TABLES, SCHEMA, SHORT_NAME -
Constructor Summary
ConstructorsConstructorDescriptionPersistentTableMutationStrategy(TemporaryTable idTable, SessionFactoryImplementor sessionFactory) -
Method Summary
Modifier and TypeMethodDescriptionintexecuteDelete(SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Execute the multi-table update indicated by the passed SqmUpdateStatementintexecuteUpdate(SqmUpdateStatement<?> sqmUpdate, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Execute the multi-table update indicated by the passed SqmUpdateStatementMethods inherited from class org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy
getEntityDescriptor, getSessionFactory, getTemporaryTable, prepare, releaseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy
prepare, prepare, release
-
Constructor Details
-
PersistentTableMutationStrategy
public PersistentTableMutationStrategy(TemporaryTable idTable, SessionFactoryImplementor sessionFactory)
-
-
Method Details
-
executeUpdate
public int executeUpdate(SqmUpdateStatement<?> sqmUpdate, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Description copied from interface:SqmMultiTableMutationStrategyExecute the multi-table update indicated by the passed SqmUpdateStatement- Specified by:
executeUpdatein interfaceSqmMultiTableMutationStrategy- Returns:
- The number of rows affected
-
executeDelete
public int executeDelete(SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Description copied from interface:SqmMultiTableMutationStrategyExecute the multi-table update indicated by the passed SqmUpdateStatement- Specified by:
executeDeletein interfaceSqmMultiTableMutationStrategy- Returns:
- The number of rows affected
-