Salut
Je débute actuellement avec hibernate. J'essaye actuellement de charger un objet véhicule et voici le message d'erreur que je reçois :

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
27
28
29
30
31
32
33
34
35
36
og4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.SessionException: Session is closed
	at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:131)
	at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:49)
	at org.hibernate.transaction.JDBCTransactionFactory.beginTransaction(JDBCTransactionFactory.java:24)
	at org.hibernate.jdbc.JDBCContext.beginTransaction(JDBCContext.java:271)
	at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1079)
	at ddd.bujuman.service.parc.dao.HibernateVehiculeDAO.loadVehicule(HibernateVehiculeDAO.java:36)
	at ddd.bujuman.service.parc.actions.ParcDAOAction.idVehicule(ParcDAOAction.java:47)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	at java.lang.Thread.run(Unknown Source)
Le méthode pour charger un véhicule.

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
public Vehicule loadVehicule(int idVehicule) {
		org.hibernate.Session session = HibernateDAOFactory.creerConnexion();
		Vehicule vehicule = null;
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			vehicule = (Vehicule) session.load(Vehicule.class, idVehicule);
			tx.commit();
		} catch (org.hibernate.HibernateException e) {
			e.printStackTrace();
		} finally {
			try {
				HibernateUtil.closeSession();
			} catch (org.hibernate.HibernateException e1) {
				if (tx != null) tx.rollback();
				e1.printStackTrace();
			}
		}
		return vehicule;
	}
C'est après que j'ai ajouté une transaction, mais en vain.