Bonjour tout le monde!!
Je suis un debutant concernant l'utilisation de hibernate.
je signale que je travaille avec Hibernate 3.0
jé appliqué tout ce que jé trouvé ds un tutoriel mé ça n 'a pas marché.
voila ce que jé fé :
Ma classe de persistance :-------------------------------
Mon fichhier de mapping------------------------
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 package packHibo; public class personne { private int id; private String nom; public void setId(int i){ id=i; } public void setNom(String n){ nom=n; } public int getId(){ return id; } public String getNom(){ return nom; } }
Mon fichier de configuration-----------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="packHibo.personne" table="personne"> <id column="id" name="id" type="java.lang.Integer"> <generator class="increment" /> </id> <property column="nom" length="20" name="nom" not-null="true" type="java.lang.String" /> </class> </hibernate-mapping>
le fichier HibernateSessionFactory :---------------------
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 <?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"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="myeclipse.connection.profile">ProTest</property> <property name="connection.url">jdbc:mysql://localhost:3306/bdtest</property> <property name="connection.username">root</property> <property name="connection.password"></property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> </session-factory> <mapping resource="personne.hbm.xml"/> </hibernate-configuration>
Ma classe main :--------------------------------------
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 package packHibo; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; /** * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.html}. */ public class HibernateSessionFactory { //private Session session; /** * Location of hibernate.cfg.xml file. * NOTICE: Location should be on the classpath as Hibernate uses * #resourceAsStream style lookup for its configuration file. That * is place the config file in a Java package - the default location * is the default Java package.<br><br> * Examples: <br> * <code>CONFIG_FILE_LOCATION = "/hibernate.conf.xml". * CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".</code> */ private static String CONFIG_FILE_LOCATION = "/packHibo/hibernate.cfg.xml"; /** Holds a single instance of Session */ private static final ThreadLocal threadLocal = new ThreadLocal(); /** The single instance of hibernate configuration */ private static final Configuration cfg = new Configuration(); /** The single instance of hibernate SessionFactory */ private static org.hibernate.SessionFactory sessionFactory; /** * Returns the ThreadLocal Session instance. Lazy initialize * the <code>SessionFactory</code> if needed. * * @return Session * @throws HibernateException */ public static Session currentSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { try { cfg.configure(CONFIG_FILE_LOCATION); sessionFactory = cfg.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } session = (sessionFactory != null) ? sessionFactory.openSession() : null; threadLocal.set(session); } return session; } /** * Close the single hibernate session instance. * * @throws HibernateException */ /////////////////////////////////////////Mamethode public static void AddPersonne(personne p) throws Exception{ SessionFactory sessionFactory=new Configuration().buildSessionFactory(); Session session=sessionFactory.openSession(); Transaction tx=session.beginTransaction(); session.save(p); tx.commit(); session.close(); } public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) { session.close(); } } ////////////////////////////////////////////////////////// /** * Default constructor. */ private HibernateSessionFactory() { } }
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 package packHibo; public class classMain { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub personne p=new personne(); //p.setId(1); p.setNom("ali"); try{ HibernateSessionFactory.AddPersonne(p); }catch(Exception e){ System.out.println("Erreur Mapping"); } } }
Mé il me donne les erreurs suivants :
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Erreur Mapping
sachant que jé ajouté deja le log4j.jar.
Partager