Hibernate - comment attraper “l'intégrité de la violation de la contrainte: contrainte unique ou de l'indice de violation”

Dans ma table j'ai une contrainte unique.
En mode veille prolongée, lorsque j'ajoute un élément qui viole cette contrainte, je veux l'attraper, Elle sera mise à jour au lieu de créer un élément.

Lorsque j'ai mis aucun bloc try-catch autour de

    updated = query.executeUpdate();

il obtient l'erreur suivante

    Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or index violation: WEEKROOSTERITEMUNI

Lorsque j'ai mis la suite de bloc try-catch

    try {
        updated = query.executeUpdate();

     }    
   catch(PersistenceException e){                                                         
        LOG.debug("this is PersistenceException exception throw");      
    } 

il obtient l'erreur suivante

    Caused by: javax.persistence.RollbackException: Transaction marked as rollbackOnly

Quand je attraper "ConstraintViolationException" - je continuer à recevoir la contrainte d'exception, il n'a pas d'attraper quoi que ce soit.

    Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or index violation: WEEKROOSTERITEMUNI

Comment puis-je attraper cette?

Suggérer de passer par ce lien dans la [Lien][1] [1]: stackoverflow.com/questions/2167730/...

OriginalL'auteur Ken Vernaillen | 2013-11-14