public class org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy extends org.hibernate.dialect.lock.AbstractSelectLockingStrategy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy
super_class: org.hibernate.dialect.lock.AbstractSelectLockingStrategy
{
public void <init>(org.hibernate.persister.entity.Lockable, org.hibernate.LockMode);
descriptor: (Lorg/hibernate/persister/entity/Lockable;Lorg/hibernate/LockMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.hibernate.dialect.lock.AbstractSelectLockingStrategy.<init>:(Lorg/hibernate/persister/entity/Lockable;Lorg/hibernate/LockMode;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/dialect/lock/PessimisticWriteSelectLockingStrategy;
0 2 1 lockable Lorg/hibernate/persister/entity/Lockable;
0 2 2 lockMode Lorg/hibernate/LockMode;
MethodParameters:
Name Flags
lockable
lockMode
public void lock(java.io.Serializable, java.lang.Object, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor);
descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 4
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.determineSql:(I)Ljava/lang/String;
astore 6
start local 6 1: aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
astore 7
start local 7 2: aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
aload 6
invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 8
start local 8 3: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getIdentifierType:()Lorg/hibernate/type/Type;
aload 8
aload 1
iconst_1
aload 5
invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
4: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.isVersioned:()Z
ifeq 11
5: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getVersionType:()Lorg/hibernate/type/VersionType;
6: aload 8
7: aload 2
8: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getIdentifierType:()Lorg/hibernate/type/Type;
aload 7
invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
iconst_1
iadd
9: aload 5
10: invokeinterface org.hibernate.type.VersionType.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
11: StackMap locals: java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor java.sql.PreparedStatement
StackMap stack:
aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
aload 8
invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
astore 9
start local 9 12: aload 9
invokeinterface java.sql.ResultSet.next:()Z
ifne 20
13: aload 7
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/Statistics;
invokeinterface org.hibernate.stat.Statistics.isStatisticsEnabled:()Z
ifeq 16
14: aload 7
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
15: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getEntityName:()Ljava/lang/String;
invokeinterface org.hibernate.stat.spi.StatisticsImplementor.optimisticFailure:(Ljava/lang/String;)V
16: StackMap locals: java.sql.ResultSet
StackMap stack:
new org.hibernate.StaleObjectStateException
dup
aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getEntityName:()Ljava/lang/String;
aload 1
invokespecial org.hibernate.StaleObjectStateException.<init>:(Ljava/lang/String;Ljava/io/Serializable;)V
athrow
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
18: aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 9
aload 8
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
19: aload 10
athrow
20: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 9
aload 8
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
end local 9 21: goto 25
22: StackMap locals: org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy java.io.Serializable java.lang.Object java.lang.Object int org.hibernate.engine.spi.SessionImplementor java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor java.sql.PreparedStatement
StackMap stack: java.lang.Throwable
astore 11
23: aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 8
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
24: aload 11
athrow
25: StackMap locals:
StackMap stack:
aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
aload 8
invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
end local 8 26: goto 35
27: StackMap locals: org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy java.io.Serializable java.lang.Object java.lang.Object int org.hibernate.engine.spi.SessionImplementor java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor
StackMap stack: java.sql.SQLException
astore 8
start local 8 28: aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
29: aload 8
30: new java.lang.StringBuilder
dup
ldc "could not lock: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
aload 1
aload 5
invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: aload 6
32: invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
athrow
end local 8 33: StackMap locals:
StackMap stack: org.hibernate.JDBCException
astore 8
start local 8 34: new org.hibernate.dialect.lock.PessimisticEntityLockException
dup
aload 3
ldc "could not obtain pessimistic lock"
aload 8
invokespecial org.hibernate.dialect.lock.PessimisticEntityLockException.<init>:(Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/JDBCException;)V
athrow
end local 8 35: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/hibernate/dialect/lock/PessimisticWriteSelectLockingStrategy;
0 36 1 id Ljava/io/Serializable;
0 36 2 version Ljava/lang/Object;
0 36 3 object Ljava/lang/Object;
0 36 4 timeout I
0 36 5 session Lorg/hibernate/engine/spi/SessionImplementor;
1 36 6 sql Ljava/lang/String;
2 36 7 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
3 26 8 st Ljava/sql/PreparedStatement;
12 21 9 rs Ljava/sql/ResultSet;
28 33 8 e Ljava/sql/SQLException;
34 35 8 e Lorg/hibernate/JDBCException;
Exception table:
from to target type
12 17 17 any
3 22 22 any
2 26 27 Class java.sql.SQLException
2 33 33 Class org.hibernate.JDBCException
MethodParameters:
Name Flags
id
version
object
timeout
session
protected java.lang.String generateLockString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
astore 2
start local 2 1: new org.hibernate.LockOptions
dup
aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockMode:()Lorg/hibernate/LockMode;
invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
astore 3
start local 3 2: aload 3
iload 1
invokevirtual org.hibernate.LockOptions.setTimeOut:(I)Lorg/hibernate/LockOptions;
pop
3: new org.hibernate.sql.SimpleSelect
dup
aload 2
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
invokespecial org.hibernate.sql.SimpleSelect.<init>:(Lorg/hibernate/dialect/Dialect;)V
4: aload 3
invokevirtual org.hibernate.sql.SimpleSelect.setLockOptions:(Lorg/hibernate/LockOptions;)Lorg/hibernate/sql/SimpleSelect;
5: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getRootTableName:()Ljava/lang/String;
invokevirtual org.hibernate.sql.SimpleSelect.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
6: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getRootTableIdentifierColumnNames:()[Ljava/lang/String;
iconst_0
aaload
invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
7: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getRootTableIdentifierColumnNames:()[Ljava/lang/String;
ldc "=?"
invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
8: astore 4
start local 4 9: aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.isVersioned:()Z
ifeq 11
10: aload 4
aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getVersionColumnName:()Ljava/lang/String;
ldc "=?"
invokevirtual org.hibernate.sql.SimpleSelect.addCondition:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
pop
11: StackMap locals: org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.LockOptions org.hibernate.sql.SimpleSelect
StackMap stack:
aload 2
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
invokevirtual org.hibernate.cfg.Settings.isCommentsEnabled:()Z
ifeq 13
12: aload 4
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockMode:()Lorg/hibernate/LockMode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " lock "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.getLockable:()Lorg/hibernate/persister/entity/Lockable;
invokeinterface org.hibernate.persister.entity.Lockable.getEntityName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hibernate.sql.SimpleSelect.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
pop
13: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/hibernate/dialect/lock/PessimisticWriteSelectLockingStrategy;
0 14 1 lockTimeout I
1 14 2 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
2 14 3 lockOptions Lorg/hibernate/LockOptions;
9 14 4 select Lorg/hibernate/sql/SimpleSelect;
MethodParameters:
Name Flags
lockTimeout
}
SourceFile: "PessimisticWriteSelectLockingStrategy.java"