为了账号安全,请及时绑定邮箱和手机立即绑定

使用 ExampleMatcher 和 Pageable 检索数据的 JPQL 自定义查询

使用 ExampleMatcher 和 Pageable 检索数据的 JPQL 自定义查询

慕莱坞森 2022-07-20 15:41:42
如何使用 ExampleMatcher 使用 JPQL 自定义查询?我正在尝试从父母大小中检索孩子。由于我不允许在子端添加另一种方法。我需要过滤和分页以显示孩子,因为孩子包含太多行数据。这是我的存储库。@Repositorypublic interface ParentRepository extends JpaRepository<Parent, String> {    @Query(value = "SELECT c FROM Child c where c.parent.id =:id")      public List<Child> findChildById(String id, Example example, Pageable pageable);}注意:如果没有示例和可分页作为参数,此查询工作正常。该方法给我一个错误:    Error creating bean with name 'parentRepository':         Invocation of init method failed; nested exception is java.lang.IllegalStateException:         Using named parameters for method public abstract java.util.List com.example.test.ParentRepository.findChildById(java.lang.String,org.hibernate.criterion.Example,org.springframework.data.domain.Pageable)         but parameter 'Optional[example]' not found in annotated query         'SELECT c FROM Child c where c.parent.id =:id'!
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您传递给带有注释的方法的参数@Query应该在查询中使用,在您的示例中应该是这样的:


@Query(value = "SELECT c FROM Child c where c.parent.id =:id")  

public List<Child> findChildById(@Param("id") String id);


查看完整回答
反对 回复 2022-07-20
  • 1 回答
  • 0 关注
  • 322 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信