mtn Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Hallo, Ich kann über Hibernate folgende Abfrage machen: ... @Override protected List<CriteriaFilterInterface> getFilter() { List<CriteriaFilterInterface> ret=super.getFilter(); ret.add(new CriteriaFilterInterface() { public void applyFilter(Criteria criteria) { criteria.add(Restrictions.le("Datumsfeld", new Date())); } }); return ret; ... Damit bekomme ich alle Datensätze deren "Datumsfeld" älter als "jetzt" ist. Nun würde ich aber gern alle Datensätze bekommen auf welche die Bedingung "Datumsfeld"+8 Tage zutrifft. Hat bitte jemand einen Tipp für mich? Bin kein Java-Experte. Dank und Gruß
Dragon8 Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Die Bedingung müsstest du noch mal genauer erklären, möchtest du ein bestimmtes Datumsfeld selektiert haben, und davon ausgehend dann alle Daten die 8 Tage in der Zukunft liegen? Oder willst du einfach alle Daten die vom aktuellem Datum 8 Tage in der Zukunft liegen? Ich kenne mich mit dem Thema Hibernate nun eigentlich garnicht aus, aber in der Java Dokumentation zu Hibernate ist die Klasse Restrictions eigentlich sehr gut erklärt: https://www.hibernate.org/hib_docs/v3/api/org/hibernate/criterion/Restrictions.html Diese bietet verschiedenste Methoden an, um Vergleiche anzustellen. Wenn du jetzt also alle Datensätze haben willst deren Datumsfeld 8 Tage von heute in der Zukunft liegen, würde das wohl, denke ich jedenfalls, so aussehen: ... Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 8); criteria.add(Restrictions.[b]eq[/b]("Datumsfeld", c.getTime())); ...
mtn Geschrieben 8. Dezember 2009 Autor Geschrieben 8. Dezember 2009 Hi, vielen Dank für deine schnelle Antwort, das war die perfekte Lösung Ich möchte alle Datensätze herausfinden, welche vor 8 Tagen eingestellt wurden, meine Lösung sieht nun so aus: // finde das Datum von vor 7 Tagen raus Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, -7); // gib mir alle Datensätze älter als 7 Tage criteria.add(Restrictions.lt("Datumsfeld", c.getTime())); Vielen Dank und viele Grüße
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden