当前位置: 首页 > 知识库问答 >
问题:

Spring data mongodb存储库findAll字段排除

陈斌
2023-03-14

对于spring data html" target="_blank">mongodb存储库,我有一个奇怪的问题…我想从findall请求中排除一个字段。我怎样才能做到这一点呢?

@Query(fields = "{'objectContentAsJson':0}")
Page<ObjectHistory> findByObjectIdAndServiceIgnoreCase( String objectId, String service, Pageable pageable );
@Query(fields = "{'objectContentAsJson':0}")
Page<ObjectHistory> findAll( Pageable pageable );

原因:org.springframework.data.mapping.PropertyReferenceException:找不到ObjectHistory类型的属性findAll!在org.springframework.data.mapping.propertypath.(propertypath.java:75)在org.springframework.data.mapping.propertypath.create(propertypath.java:327)在org.springframework.data.mapping.propertypath.create(propertypath.java:307)在org.springframework.data.mapping.propertypath.from(propertypath.java:270)在

共有1个答案

浦毅
2023-03-14

添加一个空的筛选条件将为您提供诀窍:

@Query(value = "{}", fields = "{'objectContentAsJson':0}")
Page<ObjectHistory> findAll(Pageable pageable);

显然,当您没有指定value参数来筛选结果时,Spring Data会尝试从方法名派生查询,并且不知为什么,它不识别findall的特殊含义。

 类似资料:
  • 我有一个控制器尝试用可选字段搜索。JPA实体类定义为:

  • 问题内容: 我创建了一个简单的存储库,其中包含系统中的所有人员,一切似乎都正常运行。我可以根据给定的键和值添加,删除甚至取回单个人,但是由于某种原因,我无法直接取回存储在存储库中的所有人。我尝试通过使用findAll()方法来执行此操作,该方法应返回一个可迭代的对象。然后,我尝试使用可迭代对象进行迭代,并将每个人存储在要函数返回的arraylist中。 打印线打印“ 3”,因此存储库不为空,但在以

  • 是否有一种方法可以使通用Spring数据JPA存储库正确处理类似的方法?例如只返回狗,而不返回所有动物?或者至少,最好的变通方法是什么? 它的工作几乎完美,保存每一个动物在自己的桌子上,等等。唯一的问题是:同时返回水豚和狗。这个答案解释说: 这只有在域类使用单表继承时才起作用。我们在引导时能得到的关于domain类的唯一信息是它将是Product对象。因此,对于像findAll()甚至findBy

  • 我试图获取一个列表从数据库和findAll()返回空列表。我有多个jpa存储库,但只有一个不工作。这是代码: 这就是实体: 当我调用product类别epository.findAll()时,它返回空列表,因此我在数据库中有许多条目。谢谢你的帮助!

  • 问题内容: 我使用以下命令安装了Express.js: 我收到以下警告: 我是Node.js和Express.js的新手。为什么会有以上警告?我应该担心吗? 问题答案: 自NPM v1.2.20起,这只是检查,他们将其报告为警告。 不过,不用担心,有 sooooooo 仍然没有很多包在自己的领域。该字段用于提供信息。 如果您是包作者,则将放入您的中,如下所示: 阅读有关该字段的更多信息,并查看记录

  • java java 在TaskServiceImpl.java.FindAll(pageRequest)中返回NULL。我不太熟悉Mockito,想知道用它创建模拟存储库是否会导致问题?当我这样做时,它工作得很好。findall()没有分页。我使用PagingAndSortingRepository中的findAll(Pageable)方法有问题吗?谢了!