public class org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor implements org.hibernate.hql.internal.ast.exec.StatementExecutor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor
super_class: java.lang.Object
{
private final org.hibernate.hql.spi.MultiTableBulkIdStrategy$DeleteHandler deleteHandler;
descriptor: Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy$DeleteHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.hibernate.hql.internal.ast.HqlSqlWalker);
descriptor: (Lorg/hibernate/hql/internal/ast/HqlSqlWalker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor this
start local 1 // org.hibernate.hql.internal.ast.HqlSqlWalker walker
0: .line 42
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 43
aload 1 /* walker */
invokevirtual org.hibernate.hql.internal.ast.HqlSqlWalker.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
2: .line 44
invokevirtual org.hibernate.cfg.Settings.getMultiTableBulkIdStrategy:()Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy;
3: .line 43
astore 2 /* strategy */
start local 2 // org.hibernate.hql.spi.MultiTableBulkIdStrategy strategy
4: .line 45
aload 0 /* this */
aload 2 /* strategy */
aload 1 /* walker */
invokevirtual org.hibernate.hql.internal.ast.HqlSqlWalker.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
aload 1 /* walker */
invokeinterface org.hibernate.hql.spi.MultiTableBulkIdStrategy.buildDeleteHandler:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/hql/internal/ast/HqlSqlWalker;)Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy$DeleteHandler;
putfield org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor.deleteHandler:Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy$DeleteHandler;
5: .line 46
return
end local 2 // org.hibernate.hql.spi.MultiTableBulkIdStrategy strategy
end local 1 // org.hibernate.hql.internal.ast.HqlSqlWalker walker
end local 0 // org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/hql/internal/ast/exec/MultiTableDeleteExecutor;
0 6 1 walker Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
4 6 2 strategy Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy;
MethodParameters:
Name Flags
walker
public java.lang.String[] getSqlStatements();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor this
0: .line 49
aload 0 /* this */
getfield org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor.deleteHandler:Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy$DeleteHandler;
invokeinterface org.hibernate.hql.spi.MultiTableBulkIdStrategy$DeleteHandler.getSqlStatements:()[Ljava/lang/String;
areturn
end local 0 // org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/exec/MultiTableDeleteExecutor;
public int execute(org.hibernate.engine.spi.QueryParameters, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 // org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor this
start local 1 // org.hibernate.engine.spi.QueryParameters parameters
start local 2 // org.hibernate.engine.spi.SessionImplementor session
0: .line 53
new org.hibernate.action.internal.BulkOperationCleanupAction
dup
aload 2 /* session */
iconst_1
anewarray org.hibernate.persister.entity.Queryable
dup
iconst_0
aload 0 /* this */
getfield org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor.deleteHandler:Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy$DeleteHandler;
invokeinterface org.hibernate.hql.spi.MultiTableBulkIdStrategy$DeleteHandler.getTargetedQueryable:()Lorg/hibernate/persister/entity/Queryable;
aastore
invokespecial org.hibernate.action.internal.BulkOperationCleanupAction.<init>:(Lorg/hibernate/engine/spi/SessionImplementor;[Lorg/hibernate/persister/entity/Queryable;)V
astore 3 /* action */
start local 3 // org.hibernate.action.internal.BulkOperationCleanupAction action
1: .line 54
aload 2 /* session */
invokeinterface org.hibernate.engine.spi.SessionImplementor.isEventSource:()Z
ifeq 4
2: .line 55
aload 2 /* session */
checkcast org.hibernate.event.spi.EventSource
invokeinterface org.hibernate.event.spi.EventSource.getActionQueue:()Lorg/hibernate/engine/spi/ActionQueue;
aload 3 /* action */
invokevirtual org.hibernate.engine.spi.ActionQueue.addAction:(Lorg/hibernate/action/internal/BulkOperationCleanupAction;)V
3: .line 56
goto 5
4: .line 58
StackMap locals: org.hibernate.action.internal.BulkOperationCleanupAction
StackMap stack:
aload 3 /* action */
invokevirtual org.hibernate.action.internal.BulkOperationCleanupAction.getAfterTransactionCompletionProcess:()Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
iconst_1
aload 2 /* session */
invokeinterface org.hibernate.action.spi.AfterTransactionCompletionProcess.doAfterTransactionCompletion:(ZLorg/hibernate/engine/spi/SessionImplementor;)V
5: .line 61
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor.deleteHandler:Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy$DeleteHandler;
aload 2 /* session */
aload 1 /* parameters */
invokeinterface org.hibernate.hql.spi.MultiTableBulkIdStrategy$DeleteHandler.execute:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;)I
ireturn
end local 3 // org.hibernate.action.internal.BulkOperationCleanupAction action
end local 2 // org.hibernate.engine.spi.SessionImplementor session
end local 1 // org.hibernate.engine.spi.QueryParameters parameters
end local 0 // org.hibernate.hql.internal.ast.exec.MultiTableDeleteExecutor this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/hql/internal/ast/exec/MultiTableDeleteExecutor;
0 6 1 parameters Lorg/hibernate/engine/spi/QueryParameters;
0 6 2 session Lorg/hibernate/engine/spi/SessionImplementor;
1 6 3 action Lorg/hibernate/action/internal/BulkOperationCleanupAction;
Exceptions:
throws org.hibernate.HibernateException
MethodParameters:
Name Flags
parameters
session
}
SourceFile: "MultiTableDeleteExecutor.java"
InnerClasses:
public abstract DeleteHandler = org.hibernate.hql.spi.MultiTableBulkIdStrategy$DeleteHandler of org.hibernate.hql.spi.MultiTableBulkIdStrategy