BEST-P: Find-By-Example

​In Java-Enterprise-Anwendungen ist es sinnvoll, Zugriffe auf die Datenbank nach dem Design-Pattern Data Access Object in DAO-Klassen zu kapseln. Die Basis-CRUD-Operationen lassen sich in einer generischen Klasse unabhängig vom Entity-Typ definieren.  Aufwand entsteht durch die Implementierung von Find-Methoden, um Daten nach angegebenen Kriterien zu selektieren. Dieser Aufwand lässt sich durch die Verwendung des Design-Patterns Find-By-Example reduzieren.





Bei Find-By-Example werden Suchbegriffe in einem Example-Objekt angegeben. So kann nach einer beliebigen Kombination von Attributen gesucht werden. Auch wenn Hibernate oder EclipseLink Implementierungen eines Find-By-Example mitbringen verwenden wir in unseren Projekte eine Eigenimplementierung auf Basis von JPA. 

file
File Name: findByExample20170217.zip
File Size: 33 kb
Download File

​​In unserem Find-By-Example ist die Example-Klasse ein einfaches Pojo. Es enthält die Attribute, nach denen gesucht werden soll. Wesentlich dabei ist die Übereinstimmung der Attributnamen zwischen Example- und Entity-Klasse. Folgende Möglichkeiten bietet unserer Find-By-Example-Implementierung.

  • ​Bei Zeichenketten kann mit '%' ein Muster angegeben werden. Beispiel: mit 'Ko%' wird nach Zeichenketten gesucht, die mit 'Ko' anfangen.
  • Bei Zahlen oder Datumsangaben lassen sich Relationen mit <, > <=, >= angeben. Beispiel: '>01.01.1970' sucht nach Datumsangaben, die nach dem 01.01.1970 liegen.
  • Bei Zahlen oder Datumsangaben lässt sich auch ein Intervall angeben. Beispiel '01.04.12016-31.12.2016' sucht nach Datumsangaben in dem angegebenen Intervall.
  • Einfache Assoziationen werden bei der Suche berücksichtigt. 

​Die Implementierung haben wir hier in Form eines Maven-Projekts zum Download bereitgestellt. 

1
ELK Stack: Volltextsuche und Logarchivierung - Ela...
Enterprise Manager Oracle Cloud Control 13c - Schw...

Related Posts

Kommentare

 
Keine Kommentare vorhanden
Bereits registriert? Login
Gäste
Dienstag, 25. April 2017
Wenn Sie sich automatisch registrieren möchten, füllen Sie bitte die Felder Benutzername, Name und E-Mail.
Füllen Sie bitte die Felder Name und E-Mail, wenn Sie sich nicht registrieren möchten.

Sicherheitscode (Captcha)

Unsere Autoren

Technologie Blogs

Tutorials

4 members

Webentwicklung

3 members

Java

3 members

Archiv | Blog-Beiträge

Login