protected PersistenceException wrapLockException(HibernateException e, LockOptions lockOptions) { final PersistenceException pe; if (e instanceof OptimisticEntityLockException) { final OptimisticEntityLockException lockException = (OptimisticEntityLockException) e; pe = new OptimisticLockException( lockException.getMessage(), lockException, lockException.getEntity()); } else if (e instanceof org.hibernate.exception.LockTimeoutException) { pe = new LockTimeoutException(e.getMessage(), e, null); } else if (e instanceof PessimisticEntityLockException) { final PessimisticEntityLockException lockException = (PessimisticEntityLockException) e; if (lockOptions != null && lockOptions.getTimeOut() > -1) { // assume lock timeout occurred if a timeout or NO WAIT was specified pe = new LockTimeoutException( lockException.getMessage(), lockException, lockException.getEntity()); } else { pe = new PessimisticLockException( lockException.getMessage(), lockException, lockException.getEntity()); } } else if (e instanceof org.hibernate.PessimisticLockException) { final org.hibernate.PessimisticLockException jdbcLockException = (org.hibernate.PessimisticLockException) e; if (lockOptions != null && lockOptions.getTimeOut() > -1) { // assume lock timeout occurred if a timeout or NO WAIT was specified pe = new LockTimeoutException(jdbcLockException.getMessage(), jdbcLockException, null); } else { pe = new PessimisticLockException(jdbcLockException.getMessage(), jdbcLockException, null); } } else { pe = new OptimisticLockException(e); } return pe; }
public PersistenceException wrapLockException(HibernateException e, LockOptions lockOptions) { PersistenceException pe; if (e instanceof org.hibernate.OptimisticLockException) { org.hibernate.OptimisticLockException ole = (org.hibernate.OptimisticLockException) e; pe = new OptimisticLockException(ole.getMessage(), ole, ole.getEntity()); } else if (e instanceof org.hibernate.PessimisticLockException) { org.hibernate.PessimisticLockException ple = (org.hibernate.PessimisticLockException) e; if (lockOptions != null && lockOptions.getTimeOut() > -1) { // assume lock timeout occurred if a timeout or NO WAIT was specified pe = new LockTimeoutException(ple.getMessage(), ple, ple.getEntity()); } else { pe = new PessimisticLockException(ple.getMessage(), ple, ple.getEntity()); } } else { pe = new OptimisticLockException(e); } return pe; }