Seeking is a library for generically building and executing type-safe queries against different data stores.
We developed Seeking to facilitate transitioning one of our Matching applications from Postgres to MongoDB. This particular Matching application performs complex, multi-attribute queries, and we needed to be able to switch back and forth seamlessly between the two data stores.
Seeking allowed us to decouple our query building logic from specific data store APIs, making it possible to switch between multiple different data stores without recreating our queries.
There are four modules in the Seeking library:
- seeking-core – the core, generic query building components and interfaces.
- seeking-hibernate – implementations for interacting with SQL stores using Hibernate.
- seeking-mongo – MongoDB specific implementations.
- seeking-solr – Solr specific implementations.
Head over to the GitHub repository for the source code, documentation, and issue tracker.