Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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ß :)

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()));

		...

  • Autor

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 :)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.