Bonjour,
J’ai développé une application qui utilise Hibernate.
Ma configuration Hibernate est :
Pour supprimer un enregistrement (par exemple un objet Projet) j’utilise la méthode suivante
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
20
21
22
23
24
25
26 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property> <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@10.40.30.8:1521:PXPR</property> <property name="current_session_context_class">thread</property> <property name="hibernate.show_sql">false</property> <property name="hibernate.connection.username">rhuser</property> <property name="hibernate.connection.password">base</property> <mapping class="db.entites.ReManager"/> <mapping class="db.entites.Projets"/> <mapping class="db.entites.ReEmp"/> <mapping class="db.entites.ReParametres"/> <mapping class="db.entites.Taches"/> <mapping class="db.entites.EmpProjTach"/> <mapping class="db.entites.Activites"/> <mapping class="db.entites.ReFavoris"/> <mapping class="db.entites.Domaine"/> <mapping class="db.entites.Client"/> <mapping class="db.entites.Qualites"/> <mapping class="db.entites.ReGroupeTravail"/> </session-factory> </hibernate-configuration>
Bien évidemment s’il existait une contrainte pour la suppression de cet objet j’aurais l’exception org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public boolean deleteProjet(Projets projet) throws Exception { boolean ok = false; Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction transaction = session.beginTransaction(); session.delete(projet); transaction.commit(); ok = true; return ok; }
En mode développement sous NetBeans, je n’ai pas de souci mais lorsque je déploie mon .war sur un serveur Tomcat et en essayant de provoquer l’erreur, le temps de réponse devient énorme (presque 10 à 15 min) comme si l’application tournait à vide ou avait planté.
Remarque: le serveur Tomcat de production est sur le même réseau que la base et le Tomcat de développement n’est pas sur le même réseau.
J’utilise la même version de Tomcat en mode dév et prod et aussi pour Java.
Tomcat : apache-tomcat-6.0.26
Java : jdk1.6.0_24
Quelqu'un aurait-il une idée sur l'origine du problème ?
Si vous avez besoin de plus d’information n’hésiter pas.
Merci d'avance pour votre aide.
Partager