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 TypeMethodDescriptionint
executeDelete
(SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Execute the multi-table update indicated by the passed SqmUpdateStatementint
executeUpdate
(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, release
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy
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:SqmMultiTableMutationStrategy
Execute the multi-table update indicated by the passed SqmUpdateStatement- Specified by:
executeUpdate
in interfaceSqmMultiTableMutationStrategy
- Returns:
- The number of rows affected
-
executeDelete
public int executeDelete(SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Description copied from interface:SqmMultiTableMutationStrategy
Execute the multi-table update indicated by the passed SqmUpdateStatement- Specified by:
executeDelete
in interfaceSqmMultiTableMutationStrategy
- Returns:
- The number of rows affected
-