public class org.hibernate.action.internal.EntityVerifyVersionProcess implements org.hibernate.action.spi.BeforeTransactionCompletionProcess
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.action.internal.EntityVerifyVersionProcess
super_class: java.lang.Object
{
private final java.lang.Object object;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.hibernate.engine.spi.EntityEntry entry;
descriptor: Lorg/hibernate/engine/spi/EntityEntry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.Object, org.hibernate.engine.spi.EntityEntry);
descriptor: (Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityEntry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // org.hibernate.action.internal.EntityVerifyVersionProcess this
start local 1 // java.lang.Object object
start local 2 // org.hibernate.engine.spi.EntityEntry entry
0: .line 49
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 50
aload 0 /* this */
aload 1 /* object */
putfield org.hibernate.action.internal.EntityVerifyVersionProcess.object:Ljava/lang/Object;
2: .line 51
aload 0 /* this */
aload 2 /* entry */
putfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
3: .line 52
return
end local 2 // org.hibernate.engine.spi.EntityEntry entry
end local 1 // java.lang.Object object
end local 0 // org.hibernate.action.internal.EntityVerifyVersionProcess this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/action/internal/EntityVerifyVersionProcess;
0 4 1 object Ljava/lang/Object;
0 4 2 entry Lorg/hibernate/engine/spi/EntityEntry;
MethodParameters:
Name Flags
object
entry
public void doBeforeTransactionCompletion(org.hibernate.engine.spi.SessionImplementor);
descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 // org.hibernate.action.internal.EntityVerifyVersionProcess this
start local 1 // org.hibernate.engine.spi.SessionImplementor session
0: .line 56
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
invokevirtual org.hibernate.engine.spi.EntityEntry.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
astore 2 /* persister */
start local 2 // org.hibernate.persister.entity.EntityPersister persister
1: .line 58
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
invokevirtual org.hibernate.engine.spi.EntityEntry.isExistsInDatabase:()Z
ifne 3
2: .line 60
return
3: .line 63
StackMap locals: org.hibernate.persister.entity.EntityPersister
StackMap stack:
aload 2 /* persister */
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
invokevirtual org.hibernate.engine.spi.EntityEntry.getId:()Ljava/io/Serializable;
aload 1 /* session */
invokeinterface org.hibernate.persister.entity.EntityPersister.getCurrentVersion:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
astore 3 /* latestVersion */
start local 3 // java.lang.Object latestVersion
4: .line 64
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
invokevirtual org.hibernate.engine.spi.EntityEntry.getVersion:()Ljava/lang/Object;
aload 3 /* latestVersion */
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 12
5: .line 65
new org.hibernate.OptimisticLockException
dup
6: .line 66
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.object:Ljava/lang/Object;
7: .line 67
new java.lang.StringBuilder
dup
ldc "Newer version ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* latestVersion */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8: .line 68
ldc "] of entity ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityName:()Ljava/lang/String;
aload 0 /* this */
getfield org.hibernate.action.internal.EntityVerifyVersionProcess.entry:Lorg/hibernate/engine/spi/EntityEntry;
invokevirtual org.hibernate.engine.spi.EntityEntry.getId:()Ljava/io/Serializable;
invokestatic org.hibernate.pretty.MessageHelper.infoString:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: .line 69
ldc "] found in database"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: .line 67
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: .line 65
invokespecial org.hibernate.OptimisticLockException.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
athrow
12: .line 72
StackMap locals: java.lang.Object
StackMap stack:
return
end local 3 // java.lang.Object latestVersion
end local 2 // org.hibernate.persister.entity.EntityPersister persister
end local 1 // org.hibernate.engine.spi.SessionImplementor session
end local 0 // org.hibernate.action.internal.EntityVerifyVersionProcess this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hibernate/action/internal/EntityVerifyVersionProcess;
0 13 1 session Lorg/hibernate/engine/spi/SessionImplementor;
1 13 2 persister Lorg/hibernate/persister/entity/EntityPersister;
4 13 3 latestVersion Ljava/lang/Object;
MethodParameters:
Name Flags
session
}
SourceFile: "EntityVerifyVersionProcess.java"