| _AbstractEntityManagerImpl.convert(HibernateException e, LockOptions lockOptions) Throwable cause = e; if(e instanceof TransactionException) { cause = e.getCause(); } _ "cause" is always null in case of TransactionException because TransactionException is the cause. The consequence is we loose information about the timeout and get a generic PersistenceException |