Bonjour tout le monde,
Voilà, je suis un peu perdu. Lorsque j'essaie de faire un test de récupération de données sur ma base de données de joujou via cette petite classe avec les dernières version d'hibernate et de spring:
Voici ce que j'obtiens comme erreur ... snif :'( :
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 @Transactional(readOnly = true) public class PersonnesDAOImpl implements PersonnesDAO{ private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public Collection<Personne> getPersonnes() { // TODO Auto-generated method stub Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(Personne.class); Collection<Personne> listePers = criteria.list(); session.getTransaction().commit(); return listePers; } }
Pourtant, les fichiers de mapping semblent bon, la base de données et les tables sont bien configurées en innoDB. Je vous mets ci-dessous la classe Personne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11Struts Problem Report ------------------------------------------------------------------------------- Struts has detected an unhandled exception: Messages: com.naialola.models.Metier_$$_javassist_4 cannot be cast to javassist.util.proxy.Proxy File: org/hibernate/proxy/pojo/javassist/JavassistLazyInitializer.java Line number: 147 Stacktraces java.lang.ClassCastException: com.naialola.models.Metier_$$_javassist_4 cannot be cast to javassist.util.proxy.Proxy ...
et le petit bout de code de déclaration de la table Personnes au niveau d' hibernate:
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 package com.naialola.models; public class Personne implements java.io.Serializable { private static final long serialVersionUID = 1L; private Long idPersonne; private String nom; private String prenom; private Metier job; public Personne() { } public Personne(Long idPersonne, String nom, String prenom, Metier job) { this.idPersonne = idPersonne; this.nom = nom; this.prenom = prenom; this.job = job; } public Long getIdPersonne() { return idPersonne; } public void setIdPersonne(Long idPersonne) { this.idPersonne = idPersonne; } 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 Metier getJob() { return job; } public void setJob(Metier job) { this.job = job; } }
Je vous remercie d'avance pour votre aide et vous souhaite à tous une bonne journée.
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 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.naialola.models.Personne" table="PERSONNES"> <id name="idPersonne" type="java.lang.Long"> <column name="IDPERSONNE" /> <generator class="identity" /> </id> <property name="nom" type="string"> <column name="NOM" length="15" /> </property> <property name="prenom" type="string"> <column name="PRENOM" length="15" /> </property> <many-to-one name="job" class="com.naialola.models.Metier" column="IDMETIER"/> </class> </hibernate-mapping>
Cordialement,
Vinou
Partager