Bonjour, en executant une requete JPQL je me retrouve avec une liste contenant X fois le meme objet.
si ma requete doit retourner 10 lignes, le resultat du JPQL va etre 10 fois la premiere ligne
quelqu'un a deja eu le probleme ?
PS : j'ai vérifié la requete sql
Le code :
Les logs
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 Query query = em.createQuery("SELECT h from HotelsDispos h WHERE h.hdiHotelid=:hotelId AND h.hdiDatedispo >= :dateDeb and h.hdiDatedispo < :dateFin"); query.setParameter("hotelId", hotelReference.getCode()); try { query.setParameter("dateDeb", sdf.parse(dateDebutDDMMYYYY)); query.setParameter("dateFin", sdf.parse(dateFinDDMMYYYY)); } catch (ParseException ex) { throw new BusinessException("BusinessException.availability.date.parsing"); } List<HotelsDispos> dispos = query.getResultList(); Logger.getLogger(HotelBean.class.getName()).finest(":::::::::::::::::::::::>"+dispos.get(0).getHdiCodeprestation()+"::"+dispos.get(0).getHdiTotal()); Logger.getLogger(HotelBean.class.getName()).finest(":::::::::::::::::::::::>"+dispos.get(1).getHdiCodeprestation()+"::"+dispos.get(0).getHdiTotal()); Logger.getLogger(HotelBean.class.getName()).finest(":::::::::::::::::::::::>"+dispos.get(2).getHdiCodeprestation()+"::"+dispos.get(0).getHdiTotal());
Le bean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [#|2009-07-03T10:30:01.556+0200|FINEST|sun-appserver2.1|com.hotel.business.HotelBean|_ThreadID=20;_ThreadName=httpSSLWorkerThread-80-0;ClassName=com.hotel.business.HotelBean;MethodName=getDispos;_RequestID=1afc2fcf-c528-4329-a39c-34e108b212a9;|:::::::::::::::::::::::>C1::54|#] [#|2009-07-03T10:30:01.557+0200|FINEST|sun-appserver2.1|com.hotel.business.HotelBean|_ThreadID=20;_ThreadName=httpSSLWorkerThread-80-0;ClassName=com.hotel.business.HotelBean;MethodName=getDispos;_RequestID=1afc2fcf-c528-4329-a39c-34e108b212a9;|:::::::::::::::::::::::>C1::54|#] [#|2009-07-03T10:30:01.558+0200|FINEST|sun-appserver2.1|com.hotel.business.HotelBean|_ThreadID=20;_ThreadName=httpSSLWorkerThread-80-0;ClassName=com.hotel.business.HotelBean;MethodName=getDispos;_RequestID=1afc2fcf-c528-4329-a39c-34e108b212a9;|:::::::::::::::::::::::>C1::54|#]
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 @Entity @Table(name = "HOTEL_DISPOS_VIEW") @NamedQueries({@NamedQuery(name = "HotelsDispos.findAll", query = "SELECT h FROM HotelsDispos h"), @NamedQuery(name = "HotelsDispos.findByHdiHotelid", query = "SELECT h FROM HotelsDispos h WHERE h.hdiHotelid = :hdiHotelid"), ....) public class HotelsDispos implements Serializable { private static final long serialVersionUID = 1L; @Basic(optional = false) @Column(name = "HDI_HOTELID") @Id private String hdiHotelid; @Basic(optional = false) @Column(name = "HDI_DATEDISPO") @Temporal(TemporalType.DATE) private Date hdiDatedispo; @Basic(optional = false) @Column(name = "HDI_CODEPRESTATION") private String hdiCodeprestation; @Column(name = "HDI_TOTAL") private int hdiTotal; @Column(name = "HDI_OCCUPE") private int hdiOccupe; @Column(name = "HDI_HS") private int hdiHs; @Column(name = "HDI_BLOQUE") private int hdiBloque; @Column(name = "HDI_LOCK") private int hdiLock; @Column(name = "HDI_LIBPRESTATION") private String hdiLibprestation; @Column(name = "HDI_PRIX") private Double hdiPrix;
Partager