Проблема заключается в поиске по запросу в разных коллекциях.
В интерфейсе AdvancedDatastore
есть метод:
<T> Query<T> createQuery(String kind, Class<T> clazz, DBObject q);
Но он создает запрос только с заданным baseQuery, и мне нужнополный клон запроса, но с другим полем DBCollection.Любые предложения?
Вот мой метод для преобразования запроса:
public Query<Vacancy> convertQuery(Query<T> query) {
QueryImpl<T> queryImpl = (QueryImpl<T>) query;
DBObject dbO = queryImpl.getQueryObject();
Query<T> our_query = ((AdvancedDatastore)this.getDatastore()).createQuery("AnotherCollectionName", T.class, dbO);
return our_query;
}
Обновление
Хорошо работает с отражением, но мне это не нравится грязныйкстати из-за перфоманса.