Petit souci hibernate Unknown Entity
Bonjour, voila je debut sur hibernate (version5.3) avec Eclipse, je vous montre le code que j'ai fait :
Mon main :
Code:
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
|
package modele;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class application {
public static void main(String[] args) {
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();
Etudiant eleve1 = new Etudiant();
eleve1.setNom("Dupont");
eleve1.setPrenom("Jacques");
eleve1.setAge(40);
session.save(eleve1);
tx.commit();
// TODO Auto-generated method stub
HibernateUtil.closeSession();
}
} |
Mon fichier HIbernateUtil.java
Code:
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
|
package modele;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure()
.buildSessionFactory();
} catch (HibernateException ex) {
throw new RuntimeException("Exception building SessionFactory: "
+ ex.getMessage(), ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static Session currentSession() throws HibernateException {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
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();
}
} |
Mon etudiant.java
Code:
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 modele;
public class Etudiant {
private int idEtudiant;
private String nom;
private String prenom;
private int age;
public int getIdEtudiant() {
return idEtudiant;
}
public void setIdEtudiant(int idEtudiant) {
this.idEtudiant = idEtudiant;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
} |
hibernate.cfg.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<hibernate-configuration>
<session-factory >
<property name="show_sql">true</property>
<property name="hibernate.connection.driver_class">DRIVER DE LA BASE</property> // je ne le met pas ici pour securite
<property name="hibernate.connection.url">URL DE LA BASE DE DONNEES</property>// je ne le met pas ici pour securite
<property name="hibernate.connection.username">stag11</property>
<property name="hibernate.connection.password">stag11pw</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<mapping class="modele.Etudiant"/>
</session-factory>
</hibernate-configuration> |
mapping Etudiant.hbm.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 18 f?vr. 2019 ? 15:47:21 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<class name="modele.Etudiant" table="ETUDIANT">
<id name="idEtudiant" type="int">
<column name="ID_ETUDIANT" />
<generator class="assigned" />
</id>
<property name="nom" type="java.lang.String">
<column name="NOM" />
</property>
<property name="prenom" type="java.lang.String">
<column name="PRENOM" />
</property>
<property name="age" type="int">
<column name="AGE" />
</property>
</class>
</hibernate-mapping> |
Lorsque je lance le main j'ai une erreur : Exception in thread "main" org.hibernate.MappingException: Unknown entity: modele.Etudiant, je n'arrive à trouver d'où peut provenitr les erreurs ( pour infos : le main , la classe etudiant , hibernateUtil et etudiant.hbm.xms sont dans un package modele dans src, et la config hibernate directement sous src)
Merci de vos reponses
J'utilise une base Oracle avec juste une table ETUDIANT ( ID_ETUDIANT,NOM,PRENOM,AGE)