BONJOUR
j'ai fais une requête JPQL pour la vérification avant l'insertion d'une nouvelle réservation:
lorsque s’exécute et fait une réservation dans une période déjà existe une erreur s'affiche:
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 public Reservation testReservation(String veh,Date Datestar,Date Datefin){ Query q = em.createQuery("SELECT o FROM Reservation o WHERE o.vehicule.matricule=:veh " + "AND" + "((o.dateDebut BETWEEN :Datestar AND :Datefin)" + "OR" + "(o.dateFin BETWEEN :Datestar AND :Datefin)" + "OR" + "(o.dateDebut<:Datestar AND o.dateFin>:Datefin))"); q.setParameter("Datestar", Datestar, TemporalType.DATE); q.setParameter("Datefin", Datefin, TemporalType.DATE); q.setParameter("veh", veh); try{ return (Reservation) q.getSingleResult(); } catch(NoResultException e) { return null; } }
svp, aidez moi!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Caused by: javax.persistence.NonUniqueResultException: More than one result was returned from Query.getSingleResult() at org.eclipse.persistence.internal.jpa.EJBQueryImpl.throwNonUniqueResultException(EJBQueryImpl.java:1207) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:722) at DAO.IDAO.testReservation(IDAO.java:733)
Partager