gpt4 book ai didi

java - 为什么我在尝试使用参数化泛型获取查询时得到空列表

转载 作者:行者123 更新时间:2023-12-02 10:40:52 24 4
gpt4 key购买 nike

我正在尝试获取类型列表,如下面的代码所示 -:

    @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-:请不要问我为什么不直接调用存储库(因为这是项目要求)。

最佳答案

要么你没有与查询匹配的整体,要么你的 mongotemplate 对查询做了一些奇特的事情。

您表示,如果您执行 (mongorepository.find(query,Classexample.class)) 您会获得一些数据,但您没有在给定代码中使用 mongorepository ,而是mongotemplate 所以这是“错误的概念证明”

泛型不会以任何方式影响这个问题 - 无论如何它们都会在运行时消失。

关于java - 为什么我在尝试使用参数化泛型获取查询时得到空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com