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ß Zitieren
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())); ... Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.