Bonjour,

J'ai une classe GenericJpaDAO a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.