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

如何在repository方法中以字符串的形式传递完整的查询作为参数,并与@query注释一起使用?

松越
2023-03-14

我在serviceImplementation中准备了一个查询,之后我将该查询作为presentDaySummarySmscWise(String finalQuery)存储库方法的方法参数传递。在Repository接口中,我用@query Annotaion传递了这个查询,如代码所示。

strong文本//ServiceImplementation类

@服务

公共类ErrorCodeServiceImpl实现ErrorCodeService{

ErrorCodeRepository errorCodeRepo;
public List<Object[]> errorCodeDefaultSummary() {

String finalQuery="select smsc,vf_reason_code from reason_code_report where 
log_date='2021-05-27'";

List<Object[]> result =   errorCodeRepo.presentDaySummarySmscWise(finalQuery);

return result;

List presentDaySummarySmscWise(字符串查询);

}

共有1个答案

楚硕
2023-03-14

不能使用查询参数替换查询的任意片段。只有查询中非常特定的部分才允许使用参数。

如果您需要动态查询,那么规范或QueryDSL就是您想要的。

 类似资料:
  • 是否可以在Spring Repository@Query注释中使用Array对象作为参数? 我正在尝试检索列节点存在于字符串数组中的表中的所有行。是否可以使用Spring存储库中的@Query注释一次执行此操作? 这是我的位置实体: 其中node引用node类,它在数据库中作为BIGINT映射。 我有这样一个存储库: 在那里,您可以看到我试图执行的查询,但它不起作用。我不知道是否可以在那里使用数组

  • 是否有可能以更优雅的方式实现此功能?Spring数据在这种情况下提供任何支持吗?

  • 我需要传递一个字符串参数作为querystring参数,这应该是可选的。 在这里,我希望将位置作为可选参数。我试着用作为。但它对我不起作用。让我知道解决方案。

  • 问题内容: 是否存在通过查询字符串传递数组的标准方法? 需要明确的是,我有一个带有多个值的查询字符串,其中一个是数组值。我希望将该查询字符串值视为一个数组-我不希望该数组爆炸,以使其与其他查询字符串变量没有区别。 编辑: 根据@Alex的答案,没有标准的方法可以执行此操作,因此我的后续工作是什么才是 识别 我正在读取的参数同时是 PHP 和 Javascript 数组的简单方法? 用相同的名称命名

  • 我有以下接口 我正在使用以下依赖项 我使用的Base_Url如下所示: 原始url或api调用应该如下所示: 我尝试将@path更改为@query,但仍然得到相同的错误消息 下图是来自邮差的一个测试,看起来很管用: 我只是从postman复制url并在代码中进行必要的更改,我得到的错误代码仍然是相同的

  • 是否有一种方法来解析/Unmar的查询字符串传递数组作为参数Java映射或自定义类? 网址示例: localhost:8080/app/ws/categories?take=10 我需要像这样解析过滤器参数: 还有一点 - 我在这里使用泽西岛,也许它有可能使用泽西岛的工具解析/取消马歇尔@QueryParam? 无论如何,任何其他Java解决方案也可以。