我有一个图书库/书店,客户可以根据作者,ISBN,名称等搜索图书。这可能会导致存储库中的大量查找方法,因为将来会添加更多字段。为了解决这个问题,我希望有一个find方法接收一个封装搜索的Query
对象。我还希望有QueryBuilder
类构造查询。但是,我在实现这些类时遇到了麻烦。有什么建议??另外,如果分页支持是存储库或构建查询的客户端的关注点。
我的BookRepository类目前看起来像这样:
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);
}