Exceptions - rafalkieras/jpa-kss GitHub Wiki
#Exceptions
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
javax.persistence.PersistenceException
javax.persistence.EntityExistsException
javax.persistence.EntityNotFoundException
javax.persistence.LockTimeoutException
javax.persistence.NonUniqueResultException
javax.persistence.NoResultException
javax.persistence.OptimisticLockException
javax.persistence.PessimisticLockException
javax.persistence.QueryTimeoutException
javax.persistence.RollbackException
javax.persistence.TransactionRequiredException
All instances of PersistenceException except for instances of NoResultException, NonUniqueResultException, LockTimeoutException, and QueryTimeoutException will cause the current transaction, if one is active, to be marked for rollback.
When working with JPA there is no need to catch vendor exceptions.