Quote:
Die Abfrage soll alle Datensätze von einem bestimmten Tag zurückgeben, d.h. es soll also nur der erste Teil des Datums für die Abfrage betrachtet werden. Wie würde man das machen, da komm ich doch um LIKE nicht drumherum, nachdem in der DB der gesamte Timestamp gespeichert ist, oder?
Um das Datum aus dem String zu lesen brauchst du vermutlich ein java.text.DateFormat, siehe JavaDoc
Code:
DateFormat df= DateFormat.getDateInstance();
Date parsedDate= df.parse(dateString);
Calendar cal= Calendar.getInstance();
cal.setTime(parsedDate);
cal.set(Calendar.HOUR_OF_DAY, 0)//auch für min, sek und millis machen
Date date1=cal.getTime();
cal.add(Calendar.DAY_OF_MONTH, 1);
Date date2=cal.getTime();
[...]
criteria.add(Restrictions.ge("date", date1);
criteria.add(Restrictions.lt("date", date2);
1. Bastle dir zwei Date-Objekte, eines das die Uhrzeit 00:00:00 des bestimmten Tages hat und eines, mit derselben Uhrzeit ein Tag später.
2. Benutzer für die Restrictions ge (>=) mit dem 00:00-Date und lt (<) mit dem 23:59:59
[/code]