类 AbstractTableBasedBulkIdHandler
- java.lang.Object
-
- org.hibernate.hql.spi.id.AbstractTableBasedBulkIdHandler
-
public abstract class AbstractTableBasedBulkIdHandler extends Object
Convenience base class forMultiTableBulkIdStrategy.UpdateHandlerandMultiTableBulkIdStrategy.DeleteHandlerimplementations throughTableBasedUpdateHandlerImplandTableBasedDeleteHandlerImplrespectively. Mainly supports common activities like:- processing the original
WHEREclause (if one) -processWhereClause(antlr.collections.AST) - generating the proper
SELECTclause for the id-table insert -generateIdInsertSelect(java.lang.String, org.hibernate.hql.spi.id.IdTableInfo, org.hibernate.hql.spi.id.AbstractTableBasedBulkIdHandler.ProcessedWhereClause) - generating the sub-select from the id-table -
generateIdSubselect(org.hibernate.persister.entity.Queryable, org.hibernate.hql.spi.id.IdTableInfo)
- 作者:
- Steve Ebersole
- processing the original
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 protected static classAbstractTableBasedBulkIdHandler.ProcessedWhereClause
-
构造器概要
构造器 构造器 说明 AbstractTableBasedBulkIdHandler(SessionFactoryImplementor sessionFactory, HqlSqlWalker walker)
-
方法概要
-
-
-
构造器详细资料
-
AbstractTableBasedBulkIdHandler
public AbstractTableBasedBulkIdHandler(SessionFactoryImplementor sessionFactory, HqlSqlWalker walker)
-
-
方法详细资料
-
factory
protected SessionFactoryImplementor factory()
-
walker
protected HqlSqlWalker walker()
-
getTargetedQueryable
public abstract Queryable getTargetedQueryable()
-
processWhereClause
protected AbstractTableBasedBulkIdHandler.ProcessedWhereClause processWhereClause(antlr.collections.AST whereClause)
Interprets theWHEREclause from the user-defined update/delete query- 参数:
whereClause- The user-definedWHEREclause- 返回:
- The bulk-id-ready
WHEREclause representation
-
generateIdInsertSelect
protected String generateIdInsertSelect(String tableAlias, IdTableInfo idTableInfo, AbstractTableBasedBulkIdHandler.ProcessedWhereClause whereClause)
Generate theINSERT-SELECTstatement for holding matching ids. This is theINSERTused to populate the bulk-id table with ids matching the restrictions defined in the originalWHEREclause- 参数:
tableAlias- The table alias to use for the entitywhereClause- The processed representation for the user-definedWHEREclause.- 返回:
- The
INSERT-SELECTfor populating the bulk-id table.
-
generateIdSelect
protected Select generateIdSelect(String tableAlias, AbstractTableBasedBulkIdHandler.ProcessedWhereClause whereClause)
-
addAnyExtraIdSelectValues
protected void addAnyExtraIdSelectValues(SelectValues selectClause)
Used fromgenerateIdInsertSelect(java.lang.String, org.hibernate.hql.spi.id.IdTableInfo, org.hibernate.hql.spi.id.AbstractTableBasedBulkIdHandler.ProcessedWhereClause)to allow subclasses to define any extra values to be selected (and therefore stored into the bulk-id table). Used to store session identifier, e.g.- 参数:
selectClause- The SelectValues that defines the select clause of the insert statement.
-
generateIdSubselect
protected String generateIdSubselect(Queryable persister, IdTableInfo idTableInfo)
-
generateIdSubselect
protected String generateIdSubselect(Queryable persister, AbstractCollectionPersister cPersister, IdTableInfo idTableInfo)
-
getKeyColumnNames
protected static String[] getKeyColumnNames(Queryable persister, AbstractCollectionPersister cPersister)
-
appendJoined
protected static void appendJoined(String delimiter, String[] parts, StringBuilder sb)
-
prepareForUse
protected void prepareForUse(Queryable persister, SharedSessionContractImplementor session)
-
releaseFromUse
protected void releaseFromUse(Queryable persister, SharedSessionContractImplementor session)
-
-