Почему я получаю пустой список при попытке получить запрос с параметризованным универсальным - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь получить список типов, как показано в коде ниже -:

    @Autowired
    MongoTemplate mongotemplate;

    @Override
    public <T> List<T> getDetails(Query query, Class<T> queryClass) {

        List<T>  list= mongotemplate.find(query, queryClass);

    return list;
    }

}

Этот репозиторий вызывается из службы как::

return messageSummaryImpl.getDetails(query, MessageSummaryDoc.class);

Возвращаемый тип этой функции: List<MessageSummaryDoc>

. В результате получается пустой список. Этот код отлично работает, когда я не использую обобщенную функцию или говорю, напрямую вызывая функцию хранилища из самой службы (mongorepository.find(query,Classexample.class)) Пожалуйста, предложите мне, что я делаю неправильно.

PS-: пожалуйста, не спрашивайте меня, почему я не вызываю хранилище напрямую (поскольку это требование проекта).

1 Ответ

0 голосов
/ 22 октября 2018

Либо у вас нет записей, соответствующих запросу, либо ваш mongotemplate делает что-то необычное с запросом.

Вы заявили, что если вы делаете (mongorepository.find(query,Classexample.class)), у вас есть некоторые данные, но вы не используете mongorepository в даннойкод, но mongotemplate, так что это «ложное доказательство концепции»

Обобщения не будут влиять на эту проблему каким-либо образом - они все равно исчезнут во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...