Bonjour,
J'ai cette requête
qui fonctionne très bien lorsque je la tape dans mysql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select * from voiture left outer join reservation on(voiture.id=reservation.voiture) where voiture.id not in(select voiture.id from voiture, reservation where voiture.id = reservation.voiture and (dateDeb between '2015-05-03' and '2015-05-04' or dateRet between '2015-05-03' and '2015-05-04'))
Je l'ai transposé pour l'utiliser avec hibernate et là erreur.
Class data
et j'obtiens cette erreur :
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 public class VoitureData { public static List<Voiture> rechercheVoitureDisponible (String dateDeb,String dateRet)throws Exception{ Transaction trans; Voiture voiture=null; List<Voiture> lVoitures; Session sess; sess = HibernateUtil.getSessionFactory().openSession(); trans = sess.beginTransaction(); String requete= "from voiture left outer join reservation on(voiture.id=reservation.voiture) " +"where voiture.id not in( " +"from voiture, reservation " +"where voiture.id = reservation.voiture " +"and (dateDeb between '"+dateDeb+"' and '"+dateRet+"' " +"or dateRet between '"+dateDeb+"' and '"+dateRet+"'))" ; lVoitures= sess.createQuery(requete).list(); System.out.println(lVoitures.size()); trans.commit(); return lVoitures;
unexpected token: on near line 1, column 42 [from voiture left outer join reservation on(voiture.id=reservation.voiture) where voiture.id not in( from voiture, reservation where voiture.id = reservation.voiture and (dateDeb between '2015-05-03' and '2015-05-04' or dateRet between '2015-05-03' and '2015-05-04'))
Erreur à la colonne 42 qui correspond au "on", les join ne sont pas possible avec hibernate?
Merci
Partager