Class PersistentTableInsertStrategy
java.lang.Object
org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy
org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableInsertStrategy
- All Implemented Interfaces:
SqmMultiTableInsertStrategy
public class PersistentTableInsertStrategy
extends PersistentTableStrategy
implements SqmMultiTableInsertStrategy
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
ConstructorsConstructorDescriptionPersistentTableInsertStrategy(TemporaryTable entityTable, SessionFactoryImplementor sessionFactory) PersistentTableInsertStrategy(EntityMappingType rootEntityDescriptor, RuntimeModelCreationContext runtimeModelCreationContext) -
Method Summary
Modifier and TypeMethodDescriptionbuildHandler(SqmInsertStatement<?> sqmInsertStatement, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Builds a cacheable handler for the passed SqmInsertStatement.Methods inherited from class org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy
getSessionFactory, getTemporaryTable, getTemporaryTableStrategy, 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.SqmMultiTableInsertStrategy
executeInsert, prepare, prepare, release
-
Constructor Details
-
PersistentTableInsertStrategy
public PersistentTableInsertStrategy(EntityMappingType rootEntityDescriptor, RuntimeModelCreationContext runtimeModelCreationContext) -
PersistentTableInsertStrategy
public PersistentTableInsertStrategy(TemporaryTable entityTable, SessionFactoryImplementor sessionFactory)
-
-
Method Details
-
buildHandler
public MultiTableHandlerBuildResult buildHandler(SqmInsertStatement<?> sqmInsertStatement, DomainParameterXref domainParameterXref, DomainQueryExecutionContext context) Description copied from interface:SqmMultiTableInsertStrategyBuilds a cacheable handler for the passed SqmInsertStatement.- Specified by:
buildHandlerin interfaceSqmMultiTableInsertStrategy- Returns:
- The number of rows affected
-