bonjour tout monde
j' ai un problème avec la classe HibernateUtil pour établier la connexion avec la source de données à partir de fichier de configuration
merci
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 17-janv.-2012 14:38:40 org.hibernate.cfg.Environment <clinit> INFO: Hibernate 3.0.1 17-janv.-2012 14:38:40 org.hibernate.cfg.Environment <clinit> INFO: hibernate.properties not found 17-janv.-2012 14:38:40 org.hibernate.cfg.Environment <clinit> INFO: using CGLIB reflection optimizer 17-janv.-2012 14:38:40 org.hibernate.cfg.Environment <clinit> INFO: using JDK 1.4 java.sql.Timestamp handling 17-janv.-2012 14:38:40 org.hibernate.cfg.Configuration configure INFO: configuring from resource: /hibernate.cfg.xml 17-janv.-2012 14:38:40 org.hibernate.cfg.Configuration getConfigurationInputStream INFO: Configuration resource: /hibernate.cfg.xml 17-janv.-2012 14:38:40 org.hibernate.cfg.Configuration getConfigurationInputStream ATTENTION: /hibernate.cfg.xml not found Exception in thread "main" java.lang.ExceptionInInitializerError at com.vente.impldao.UserImpl.findAll(UserImpl.java:33) at TestHibernate.main(TestHibernate.java:9) Caused by: java.lang.RuntimeException: probleme de configuration :/hibernate.cfg.xml not found at com.vente.util.HibernateUtil.<clinit>(HibernateUtil.java:15) ... 2 more Caused by: org.hibernate.HibernateException: /hibernate.cfg.xml not found at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1137) at org.hibernate.cfg.Configuration.configure(Configuration.java:1161) at org.hibernate.cfg.Configuration.configure(Configuration.java:1148) at com.vente.util.HibernateUtil.<clinit>(HibernateUtil.java:13) ... 2 more
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 package com.vente.util; import org.hibernate.Hibernate; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.*; public class HibernateUtil { private static final SessionFactory sessionfactory ; static { try{ sessionfactory = new Configuration().configure().buildSessionFactory(); }catch (HibernateException e){ throw new RuntimeException("probleme de configuration :" +e.getMessage(),e);} } private static final ThreadLocal session = new ThreadLocal(); public static Session getOpenSession(){ Session s = (Session)session.get(); if(s==null){ s=sessionfactory.openSession(); session.set(s); } return s; } public static void closeSession() throws HibernateException{ Session s=(Session)session.get(); session.set(null); if(s!=null) s.close(); session.set(null); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?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.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/vente</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> </session-factory> </hibernate-configuration>
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 package com.vente.impldao; import java.util.ArrayList; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.Transaction; import com.vente.beans.User; import com.vente.dao.UserDao; import com.vente.util.HibernateUtil; public class UserImpl implements UserDao { private Log log = LogFactory.getLog(UserImpl.class); public void add(User obj) { Transaction tx =null; try{ log.debug("User :"+obj); Session session =HibernateUtil.getOpenSession(); tx=session.beginTransaction(); session.save(obj); tx.commit(); }catch(Exception e){log.error("add user failed :"+e);}; HibernateUtil.closeSession(); } public ArrayList<User> findAll() { ArrayList<User> result=null; Transaction tx =null; Session session =HibernateUtil.getOpenSession(); tx=session.beginTransaction(); try{ result =(ArrayList<User>)session.createQuery("select from user").list(); }catch(HibernateException e) {log.error("find user failed :" +e); e.printStackTrace(); session.beginTransaction().rollback(); }; return result; } public User findByid(long id) { // TODO Auto-generated method stub return null; } public void remove(User obj) { // TODO Auto-generated method stub } public void update(User obj) { Session session =HibernateUtil.getOpenSession(); Transaction tx =session.beginTransaction(); try{ session.saveOrUpdate(obj); tx.commit(); }catch (Exception e) {log.error("Update user failed :"+e);} } }
Partager