I have this issue on Weblogic 12.1.3 and Hibernate 4.2.19, but it is not a bug. This is a default behaviour of Weblogic JTA realization. To obtain root exception you should set system property `weblogic.transaction.allowOverrideSetRollbackReason` to `true`. One of the solution is add this line into `<domain_home>/bin/setDomainEnv.cmd`: `set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.transaction.allowOverrideSetRollbackReason=true` or linux equivalent into `<domain_home>/bin/setDomainEnv.sh` |