2013-08-15 9 views
1

J'utilise le code suivant pour récupérer tous les enregistrements que leur colonne de temps est passée mais il n'affiche rien.Mon code d'hibernation pour récupérer les enregistrements ne fonctionne pas

   Criteria cre = session.createCriteria(Timing.class, "timing") 
         .add(Restrictions.le("timing.time", getCurrentTime())); 
       List<Timing> timing = new ArrayList(); 
       if (cre.list().size() > 1) { 
        timing = (List<Timing>) cre.list(); 
       } 
       tx.commit(); 
       System.err.println("Time is:" + timing.get(0).getTime()); 
               <<it does not reach to this line 

} 

public Date getCurrentTime() { 
     SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); 
     Date date = new Date(); 
     System.out.println("current:" + dateFormat.format(date)); 
     return date; 
    } 

Timing

@Temporal (javax.persistence.TemporalType.TIME) 
    public Date getTime() { 
     return time; 
    } 

Répondre

0

Le code semble être correct, vérifiez les données et son format sur votre base de données

1

Essayez si vous devez définir NULL liste pour résultat vide.

List<Timing> timing = cre.list(); 
if (timing!=null && timing.isEmpty()) 
timing = null; 

Et je crois qu'il devrait être 0 au lieu de 1 dans la ligne ...size() > 1 pour votre code actuel et la vérification de null.

Questions connexes