Package org.hibernate.hql.spi.id
Interface MultiTableBulkIdStrategy
-
- All Known Implementing Classes:
AbstractMultiTableBulkIdStrategyImpl
,CteValuesListBulkIdStrategy
,GlobalTemporaryTableBulkIdStrategy
,InlineIdsInClauseBulkIdStrategy
,InlineIdsOrClauseBulkIdStrategy
,InlineIdsSubSelectValueListBulkIdStrategy
,LocalTemporaryTableBulkIdStrategy
,PersistentTableBulkIdStrategy
public interface MultiTableBulkIdStrategy
Generalized strategy contract for handling multi-table bulk HQL operations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
MultiTableBulkIdStrategy.DeleteHandler
Handler for dealing with multi-table HQL bulk delete statements.static interface
MultiTableBulkIdStrategy.UpdateHandler
Handler for dealing with multi-table HQL bulk update statements.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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.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.void
prepare(JdbcServices jdbcServices, JdbcConnectionAccess connectionAccess, MetadataImplementor metadata, SessionFactoryOptions sessionFactoryOptions)
Prepare the strategy.void
release(JdbcServices jdbcServices, JdbcConnectionAccess connectionAccess)
Release the strategy.
-
-
-
Method Detail
-
prepare
void prepare(JdbcServices jdbcServices, JdbcConnectionAccess connectionAccess, MetadataImplementor metadata, SessionFactoryOptions sessionFactoryOptions)
Prepare the strategy. Called as the SessionFactory is being built. Intended patterns here include:- Adding tables to the passed Mappings, to be picked by by "schema management tools"
- Manually creating the tables immediately through the passed JDBC Connection access
- Parameters:
jdbcServices
- The JdbcService objectconnectionAccess
- Access to the JDBC Connectionmetadata
- Access to the O/RM mapping informationsessionFactoryOptions
-
-
release
void release(JdbcServices jdbcServices, JdbcConnectionAccess connectionAccess)
Release the strategy. Called as the SessionFactory is being shut down.- Parameters:
jdbcServices
- The JdbcService objectconnectionAccess
- Access to the JDBC Connection
-
buildUpdateHandler
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.- Parameters:
factory
- The SessionFactorywalker
- The AST walker, representing the update query- Returns:
- The handler
-
buildDeleteHandler
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.- Parameters:
factory
- The SessionFactorywalker
- The AST walker, representing the delete query- Returns:
- The handler
-
-