public class PersistentTableBulkIdStrategy extends AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl> implements MultiTableBulkIdStrategy
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.
AbstractMultiTableBulkIdStrategyImpl.PreparationContextMultiTableBulkIdStrategy.DeleteHandler, MultiTableBulkIdStrategy.UpdateHandler| Modifier and Type | Field and Description |
|---|---|
static String |
CATALOG |
static String |
DROP_ID_TABLES |
static String |
SCHEMA |
static String |
SHORT_NAME |
| Constructor and Description |
|---|
PersistentTableBulkIdStrategy() |
PersistentTableBulkIdStrategy(IdTableSupport idTableSupport) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
augmentIdTableDefinition(Table idTable) |
MultiTableBulkIdStrategy.DeleteHandler |
buildDeleteHandler(SessionFactoryImplementor factory,
org.hibernate.hql.internal.ast.HqlSqlWalker walker)
Build a handler capable of handling the bulk delete indicated by the given walker.
|
protected org.hibernate.hql.spi.id.persistent.IdTableInfoImpl |
buildIdTableInfo(PersistentClass entityBinding,
Table idTable,
JdbcServices jdbcServices,
MetadataImplementor metadata,
org.hibernate.hql.spi.id.persistent.PreparationContextImpl context) |
protected org.hibernate.hql.spi.id.persistent.PreparationContextImpl |
buildPreparationContext() |
MultiTableBulkIdStrategy.UpdateHandler |
buildUpdateHandler(SessionFactoryImplementor factory,
org.hibernate.hql.internal.ast.HqlSqlWalker walker)
Build a handler capable of handling the bulk update indicated by the given walker.
|
protected QualifiedTableName |
determineIdTableName(JdbcEnvironment jdbcEnvironment,
PersistentClass entityBinding) |
protected void |
finishPreparation(JdbcServices jdbcServices,
JdbcConnectionAccess connectionAccess,
MetadataImplementor metadata,
org.hibernate.hql.spi.id.persistent.PreparationContextImpl context) |
protected void |
initialize(MetadataBuildingOptions buildingOptions,
SessionFactoryOptions sessionFactoryOptions)
Configure ourselves.
|
void |
release(JdbcServices jdbcServices,
JdbcConnectionAccess connectionAccess)
Release the strategy.
|
buildIdTableCreateStatement, buildIdTableDropStatement, getIdTableInfo, getIdTableInfo, getIdTableSupport, prepareclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpreparepublic static final String SHORT_NAME
public static final String DROP_ID_TABLES
public static final String SCHEMA
public static final String CATALOG
public PersistentTableBulkIdStrategy()
public PersistentTableBulkIdStrategy(IdTableSupport idTableSupport)
protected org.hibernate.hql.spi.id.persistent.PreparationContextImpl buildPreparationContext()
buildPreparationContext in class AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl>protected void initialize(MetadataBuildingOptions buildingOptions, SessionFactoryOptions sessionFactoryOptions)
AbstractMultiTableBulkIdStrategyImplConfigure ourselves. By default, nothing to do; here totally for subclass hook-in
initialize in class AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl>buildingOptions - Access to user-defined Metadata building optionsprotected QualifiedTableName determineIdTableName(JdbcEnvironment jdbcEnvironment, PersistentClass entityBinding)
determineIdTableName in class AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl>protected void augmentIdTableDefinition(Table idTable)
augmentIdTableDefinition in class AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl>protected org.hibernate.hql.spi.id.persistent.IdTableInfoImpl buildIdTableInfo(PersistentClass entityBinding, Table idTable, JdbcServices jdbcServices, MetadataImplementor metadata, org.hibernate.hql.spi.id.persistent.PreparationContextImpl context)
buildIdTableInfo in class AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl>protected void finishPreparation(JdbcServices jdbcServices, JdbcConnectionAccess connectionAccess, MetadataImplementor metadata, org.hibernate.hql.spi.id.persistent.PreparationContextImpl context)
finishPreparation in class AbstractMultiTableBulkIdStrategyImpl<org.hibernate.hql.spi.id.persistent.IdTableInfoImpl,org.hibernate.hql.spi.id.persistent.PreparationContextImpl>public MultiTableBulkIdStrategy.UpdateHandler buildUpdateHandler(SessionFactoryImplementor factory, org.hibernate.hql.internal.ast.HqlSqlWalker walker)
MultiTableBulkIdStrategyBuild a handler capable of handling the bulk update indicated by the given walker.
buildUpdateHandler in interface MultiTableBulkIdStrategyfactory - The SessionFactorywalker - The AST walker, representing the update querypublic MultiTableBulkIdStrategy.DeleteHandler buildDeleteHandler(SessionFactoryImplementor factory, org.hibernate.hql.internal.ast.HqlSqlWalker walker)
MultiTableBulkIdStrategyBuild a handler capable of handling the bulk delete indicated by the given walker.
buildDeleteHandler in interface MultiTableBulkIdStrategyfactory - The SessionFactorywalker - The AST walker, representing the delete querypublic void release(JdbcServices jdbcServices, JdbcConnectionAccess connectionAccess)
MultiTableBulkIdStrategyRelease the strategy. Called as the SessionFactory is being shut down.
release in interface MultiTableBulkIdStrategyjdbcServices - The JdbcService objectconnectionAccess - Access to the JDBC ConnectionCopyright © 2001-2018 Red Hat, Inc. All Rights Reserved.