Ich habe eine Buch-Repository/Buchhandlung, wo Kunden nach einem Buch basierend auf Autor, ISBN, Namen und vieles mehr suchen können. Dies könnte möglicherweise zu zahlreichen Suchmethoden im Repository führen, da in Zukunft weitere Felder hinzugefügt werden. Um dies zu lösen, möchte ich eine Methode finden, die ein Query
Objekt aufnimmt, das die Suche kapselt. Ich möchte auch eine QueryBuilder
Klasse haben, um die Abfrage zu konstruieren. Ich habe jedoch Probleme beim Implementieren dieser Klassen. Irgendwelche Vorschläge?? Außerdem sollte die Paginierungsunterstützung das Problem des Repositorys oder des Clients sein, der die Abfrage erstellt.So modellieren Sie eine Abfrage/Kriteriensuche für eine Buchhandlung Repository
Meine BookRepository Klasse sieht derzeit wie folgt aus:
public interface Bookstore {
Iterable<Book> find(Query query);
Iterable<Book> find(Query query, int start, int len);
void add(Book book);
void remove(Query query);
}