public class org.springframework.orm.hibernate5.HibernateExceptionTranslator implements org.springframework.dao.support.PersistenceExceptionTranslator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.orm.hibernate5.HibernateExceptionTranslator
super_class: java.lang.Object
{
private org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator;
descriptor: Lorg/springframework/jdbc/support/SQLExceptionTranslator;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
0: .line 47
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/orm/hibernate5/HibernateExceptionTranslator;
public void setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator);
descriptor: (Lorg/springframework/jdbc/support/SQLExceptionTranslator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
start local 1 // org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator
0: .line 65
aload 0 /* this */
aload 1 /* jdbcExceptionTranslator */
putfield org.springframework.orm.hibernate5.HibernateExceptionTranslator.jdbcExceptionTranslator:Lorg/springframework/jdbc/support/SQLExceptionTranslator;
1: .line 66
return
end local 1 // org.springframework.jdbc.support.SQLExceptionTranslator jdbcExceptionTranslator
end local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/HibernateExceptionTranslator;
0 2 1 jdbcExceptionTranslator Lorg/springframework/jdbc/support/SQLExceptionTranslator;
MethodParameters:
Name Flags
jdbcExceptionTranslator
public org.springframework.dao.DataAccessException translateExceptionIfPossible(java.lang.RuntimeException);
descriptor: (Ljava/lang/RuntimeException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
start local 1 // java.lang.RuntimeException ex
0: .line 72
aload 1 /* ex */
instanceof org.hibernate.HibernateException
ifeq 2
1: .line 73
aload 0 /* this */
aload 1 /* ex */
checkcast org.hibernate.HibernateException
invokevirtual org.springframework.orm.hibernate5.HibernateExceptionTranslator.convertHibernateAccessException:(Lorg/hibernate/HibernateException;)Lorg/springframework/dao/DataAccessException;
areturn
2: .line 75
StackMap locals:
StackMap stack:
aload 1 /* ex */
instanceof javax.persistence.PersistenceException
ifeq 6
3: .line 76
aload 1 /* ex */
invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
instanceof org.hibernate.HibernateException
ifeq 5
4: .line 77
aload 0 /* this */
aload 1 /* ex */
invokevirtual java.lang.RuntimeException.getCause:()Ljava/lang/Throwable;
checkcast org.hibernate.HibernateException
invokevirtual org.springframework.orm.hibernate5.HibernateExceptionTranslator.convertHibernateAccessException:(Lorg/hibernate/HibernateException;)Lorg/springframework/dao/DataAccessException;
areturn
5: .line 79
StackMap locals:
StackMap stack:
aload 1 /* ex */
invokestatic org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible:(Ljava/lang/RuntimeException;)Lorg/springframework/dao/DataAccessException;
areturn
6: .line 81
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 // java.lang.RuntimeException ex
end local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/orm/hibernate5/HibernateExceptionTranslator;
0 7 1 ex Ljava/lang/RuntimeException;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
ex
protected org.springframework.dao.DataAccessException convertHibernateAccessException(org.hibernate.HibernateException);
descriptor: (Lorg/hibernate/HibernateException;)Lorg/springframework/dao/DataAccessException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
start local 1 // org.hibernate.HibernateException ex
0: .line 94
aload 0 /* this */
getfield org.springframework.orm.hibernate5.HibernateExceptionTranslator.jdbcExceptionTranslator:Lorg/springframework/jdbc/support/SQLExceptionTranslator;
ifnull 7
aload 1 /* ex */
instanceof org.hibernate.JDBCException
ifeq 7
1: .line 95
aload 1 /* ex */
checkcast org.hibernate.JDBCException
astore 2 /* jdbcEx */
start local 2 // org.hibernate.JDBCException jdbcEx
2: .line 96
aload 0 /* this */
getfield org.springframework.orm.hibernate5.HibernateExceptionTranslator.jdbcExceptionTranslator:Lorg/springframework/jdbc/support/SQLExceptionTranslator;
3: .line 97
new java.lang.StringBuilder
dup
ldc "Hibernate operation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* jdbcEx */
invokevirtual org.hibernate.JDBCException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* jdbcEx */
invokevirtual org.hibernate.JDBCException.getSQL:()Ljava/lang/String;
aload 2 /* jdbcEx */
invokevirtual org.hibernate.JDBCException.getSQLException:()Ljava/sql/SQLException;
4: .line 96
invokeinterface org.springframework.jdbc.support.SQLExceptionTranslator.translate:(Ljava/lang/String;Ljava/lang/String;Ljava/sql/SQLException;)Lorg/springframework/dao/DataAccessException;
astore 3 /* dae */
start local 3 // org.springframework.dao.DataAccessException dae
5: .line 98
aload 3 /* dae */
ifnull 7
6: .line 99
aload 3 /* dae */
athrow
end local 3 // org.springframework.dao.DataAccessException dae
end local 2 // org.hibernate.JDBCException jdbcEx
7: .line 102
StackMap locals:
StackMap stack:
aload 1 /* ex */
invokestatic org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException:(Lorg/hibernate/HibernateException;)Lorg/springframework/dao/DataAccessException;
areturn
end local 1 // org.hibernate.HibernateException ex
end local 0 // org.springframework.orm.hibernate5.HibernateExceptionTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/orm/hibernate5/HibernateExceptionTranslator;
0 8 1 ex Lorg/hibernate/HibernateException;
2 7 2 jdbcEx Lorg/hibernate/JDBCException;
5 7 3 dae Lorg/springframework/dao/DataAccessException;
MethodParameters:
Name Flags
ex
}
SourceFile: "HibernateExceptionTranslator.java"