class org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject extends org.springframework.jdbc.datasource.JdbcTransactionObjectSupport
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject
super_class: org.springframework.jdbc.datasource.JdbcTransactionObjectSupport
{
private org.springframework.orm.hibernate5.SessionHolder sessionHolder;
descriptor: Lorg/springframework/orm/hibernate5/SessionHolder;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean newSessionHolder;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean newSession;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Integer previousHoldability;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
final org.springframework.orm.hibernate5.HibernateTransactionManager this$0;
descriptor: Lorg/springframework/orm/hibernate5/HibernateTransactionManager;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.springframework.orm.hibernate5.HibernateTransactionManager);
descriptor: (Lorg/springframework/orm/hibernate5/HibernateTransactionManager;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.this$0:Lorg/springframework/orm/hibernate5/HibernateTransactionManager;
aload 0
invokespecial org.springframework.jdbc.datasource.JdbcTransactionObjectSupport.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
MethodParameters:
Name Flags
this$0 final
public void setSession(org.hibernate.Session);
descriptor: (Lorg/hibernate/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.springframework.orm.hibernate5.SessionHolder
dup
aload 1
invokespecial org.springframework.orm.hibernate5.SessionHolder.<init>:(Lorg/hibernate/Session;)V
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
1: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSessionHolder:Z
2: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSession:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
0 4 1 session Lorg/hibernate/Session;
MethodParameters:
Name Flags
session
public void setExistingSession(org.hibernate.Session);
descriptor: (Lorg/hibernate/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.springframework.orm.hibernate5.SessionHolder
dup
aload 1
invokespecial org.springframework.orm.hibernate5.SessionHolder.<init>:(Lorg/hibernate/Session;)V
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
1: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSessionHolder:Z
2: aload 0
iconst_0
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSession:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
0 4 1 session Lorg/hibernate/Session;
MethodParameters:
Name Flags
session
public void setSessionHolder(org.springframework.orm.hibernate5.SessionHolder);
descriptor: (Lorg/springframework/orm/hibernate5/SessionHolder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
1: aload 0
iconst_0
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSessionHolder:Z
2: aload 0
iconst_0
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSession:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
0 4 1 sessionHolder Lorg/springframework/orm/hibernate5/SessionHolder;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
sessionHolder
public org.springframework.orm.hibernate5.SessionHolder getSessionHolder();
descriptor: ()Lorg/springframework/orm/hibernate5/SessionHolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No SessionHolder available"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public boolean hasSessionHolder();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public boolean isNewSessionHolder();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSessionHolder:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public boolean isNewSession();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.newSession:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public void setPreviousHoldability(java.lang.Integer);
descriptor: (Ljava/lang/Integer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.previousHoldability:Ljava/lang/Integer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
0 2 1 previousHoldability Ljava/lang/Integer;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
previousHoldability
public java.lang.Integer getPreviousHoldability();
descriptor: ()Ljava/lang/Integer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.previousHoldability:Ljava/lang/Integer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public boolean hasSpringManagedTransaction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
ifnull 1
aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
invokevirtual org.springframework.orm.hibernate5.SessionHolder.getTransaction:()Lorg/hibernate/Transaction;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public boolean hasHibernateManagedTransaction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
ifnull 3
1: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
invokevirtual org.springframework.orm.hibernate5.SessionHolder.getSession:()Lorg/hibernate/Session;
invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
invokeinterface org.hibernate.Transaction.getStatus:()Lorg/hibernate/resource/transaction/spi/TransactionStatus;
getstatic org.hibernate.resource.transaction.spi.TransactionStatus.ACTIVE:Lorg/hibernate/resource/transaction/spi/TransactionStatus;
if_acmpne 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public void setRollbackOnly();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.getSessionHolder:()Lorg/springframework/orm/hibernate5/SessionHolder;
invokevirtual org.springframework.orm.hibernate5.SessionHolder.setRollbackOnly:()V
1: aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.hasConnectionHolder:()Z
ifeq 3
2: aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.getConnectionHolder:()Lorg/springframework/jdbc/datasource/ConnectionHolder;
invokevirtual org.springframework.jdbc.datasource.ConnectionHolder.setRollbackOnly:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public boolean isRollbackOnly();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.getSessionHolder:()Lorg/springframework/orm/hibernate5/SessionHolder;
invokevirtual org.springframework.orm.hibernate5.SessionHolder.isRollbackOnly:()Z
ifne 3
1: aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.hasConnectionHolder:()Z
ifeq 2
aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.getConnectionHolder:()Lorg/springframework/jdbc/datasource/ConnectionHolder;
invokevirtual org.springframework.jdbc.datasource.ConnectionHolder.isRollbackOnly:()Z
ifne 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.getSessionHolder:()Lorg/springframework/orm/hibernate5/SessionHolder;
invokevirtual org.springframework.orm.hibernate5.SessionHolder.getSession:()Lorg/hibernate/Session;
invokeinterface org.hibernate.Session.flush:()V
1: goto 8
2: StackMap locals:
StackMap stack: org.hibernate.HibernateException
astore 1
start local 1 3: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.this$0:Lorg/springframework/orm/hibernate5/HibernateTransactionManager;
aload 1
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException:(Lorg/hibernate/HibernateException;)Lorg/springframework/dao/DataAccessException;
athrow
end local 1 4: StackMap locals:
StackMap stack: javax.persistence.PersistenceException
astore 1
start local 1 5: aload 1
invokevirtual javax.persistence.PersistenceException.getCause:()Ljava/lang/Throwable;
instanceof org.hibernate.HibernateException
ifeq 7
6: aload 0
getfield org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject.this$0:Lorg/springframework/orm/hibernate5/HibernateTransactionManager;
aload 1
invokevirtual javax.persistence.PersistenceException.getCause:()Ljava/lang/Throwable;
checkcast org.hibernate.HibernateException
invokevirtual org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException:(Lorg/hibernate/HibernateException;)Lorg/springframework/dao/DataAccessException;
athrow
7: StackMap locals: javax.persistence.PersistenceException
StackMap stack:
aload 1
athrow
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/orm/hibernate5/HibernateTransactionManager$HibernateTransactionObject;
3 4 1 ex Lorg/hibernate/HibernateException;
5 8 1 ex Ljavax/persistence/PersistenceException;
Exception table:
from to target type
0 1 2 Class org.hibernate.HibernateException
0 1 4 Class javax.persistence.PersistenceException
}
SourceFile: "HibernateTransactionManager.java"
NestHost: org.springframework.orm.hibernate5.HibernateTransactionManager
InnerClasses:
private HibernateTransactionObject = org.springframework.orm.hibernate5.HibernateTransactionManager$HibernateTransactionObject of org.springframework.orm.hibernate5.HibernateTransactionManager