Exception SQL impossible à catcher
Bonjour,
J'ai une classe GenericJpaDAO a:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public class GenericJpaDAO implements IGenericDAO {
protected static Log log = LogFactory.getLog(GenericJpaDAO.class);
@PersistenceContext(unitName = "myappli.hibernate")
EntityManager em;
public Object getReference(Class _class, Object _object) {
return em.getReference(_class, _object);
}
public void createObject(Object object) {
try {
em.persist(object);
} catch (LazyInitializationException lie) {
em.merge(em.merge(object));
}
}
} |
Si dans mon appli, je fais :
Code:
1 2 3 4 5
| try {
createObject(myObj);
} catch (Exception e) {
log.error("je passe jamais ici!!");
} |
Je ne tombe jamais dans le catch.
Par exemple, j'essaie de créer un objet dans une table avec la même clé primaire qu'une ligne déjà en base
-->j'ai dans mes logs java.sql.BatchUpdateException: ORA-00001: unique constraint (PREVL.PK_MYTAB) violated
bla, bla, bla
Alors que j'avais bien prévu le cas pour ne rien faire en cas d'échec de création de la ligne.
Merci.