Bonjour,


j'ai beaucoup de mal à récupérer les données .
hibernate ne permet pas de traiter avec une entity directement, il faut se servir de l'èlement
object pour manipuler les resultats des requetes .

le probleme est que je ne connais pas bien l'élément object .


j'essaie de récupérer le nom et le prenom de la classe Eleves.

en utilsant cette requette :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
List<Object[]>  elist =  session.createSQLQuery("select E.NOM, E.PRENOM FROM TEST.ELEVES as E , TEST.ECOLE c where c.id=8").list();


voici le 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
package com.hibernate.test;
 
import java.io.Serializable;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import javax.management.Query;
import javax.naming.NamingException;
import javax.naming.Reference;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.Transaction;
 
import org.apache.derby.iapi.sql.Row;
import org.hibernate.Cache;
import org.hibernate.HibernateException;
import org.hibernate.Interceptor;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.StatelessSession;
import org.hibernate.TypeHelper;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.hibernate.engine.FilterDefinition;
import org.hibernate.metadata.ClassMetadata;
import org.hibernate.metadata.CollectionMetadata;
import org.hibernate.stat.Statistics;
import org.hibernate.tool.hbm2ddl.SchemaExport;
 
@SuppressWarnings("deprecation")
public class Test {
 
	/**
         * @param args
         * @throws SystemException 
         * @throws HeuristicRollbackException 
         * @throws HeuristicMixedException 
         * @throws RollbackException 
         * @throws SecurityException 
         */
 
	public static void main(String[] args) throws SecurityException, RollbackException, HeuristicMixedException, HeuristicRollbackException, SystemException {
 
 
 
		Configuration config =new Configuration();
		config.addAnnotatedClass(Ecole.class);
		config.addAnnotatedClass(Eleves.class);
		config.configure("hibernate.cfg.xml");
 
		//new SchemaExport(config).create(true, true);
 
 
		SessionFactory factory = config.buildSessionFactory();
		Session session = factory.getCurrentSession();
 
		session.beginTransaction();
	/*
 
		Ecole ecole =new Ecole();
		Ecole ecole2 =new Ecole();
 
		ecole.setNameEcole("Nathan");
		ecole2.setNameEcole("Suise");
 
		Eleves eleve =new Eleves();
		eleve.setNom("Dzar");
		eleve.setPrenom("Dominique");
		eleve.setAge(36);
 
		eleve.setEcole(ecole);
 
		Eleves eleve2 =new Eleves();
		eleve2.setAge(27);
		eleve2.setNom("Pascale");
		eleve2.setPrenom("Dauphin");
 
		eleve2.setEcole(ecole);
 
 
		 session.save(ecole);
		session.save(eleve);
		session.save(eleve2);
 
 
 
 
 
		session.beginTransaction().commit();
 
		*/
 
		SessionFactory factor = config.buildSessionFactory();
		session = factor.getCurrentSession();
	 session.beginTransaction();
 
 
 
 
 
 
 
 
List<Object[]>  elist =  session.createSQLQuery("select E.NOM, E.PRENOM FROM TEST.ELEVES as E , TEST.ECOLE c where c.id=8").list();
 
 
for(Object[] row : elist){
 
	Eleves eleves =new Eleves();
 
	 String n=row.toString();
 
	 System.out.print(n);
}
 
/*
	List<Eleves> elist ;
Eleves el =new Eleves();
 
String []s=new String[2];
	for( int i= 0; elist.size()>i;i++)
	{ 
 
 
 
		row[i]=   elist.get(i);
	 System.out.println("nom  : " + ); 
 
	}
	*/
 
	 session.beginTransaction().commit();
 
 
 
 
 
 
 
 
	}
 
	private static SQLQuery SQLQuery(String string) {
		// TODO Auto-generated method stub
		return null;
	} 
}



merci !