Spring Data - 按方法名称获取单列查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Data - 按方法名称获取单列查询相关的知识,希望对你有一定的参考价值。

我创建了一个方法,通过spring数据自动创建查询。问题是关于返回参数,因为与名称定义不匹配。实际上,通过仅指定一个参数,它返回4个参数。

springData方法是:

Optional<Comunicazioni> getCommIDByExtIDAndCommSAndCommT(
    BigDecimal extID, String commS, String commT);

我访问类似的类型:

getCommIDByExtIDAndCommSAndCommT(extId, commS, commT).get().getCommID()

我怎样才能只检索我需要的列?

谢谢

答案

不幸的是,对于Spring Data JPA的当前实现(即仅使用方法名称),这是不可能的。

相反,当前的解决方案是使用@Query来定义返回值。你可以找到那个here的例子。

但是,如果您的Entity对象不是太大,您只需检索整个实体就可以在您发布的示例中获得结果:

Optional<Comunicazioni> finByExtIDAndCommSAndCommT(BigDecimal extID, String commS, String commT);

然后将其称为

repo.findByExtIDAndCommSAndCommT(extId, commS, commT).get().getCommID();

很高兴在未来看到这个功能,但是现在,解决这个问题并不困难。

以上是关于Spring Data - 按方法名称获取单列查询的主要内容,如果未能解决你的问题,请参考以下文章

Spring4-JdbcDaoSupport-查询单列

Spring Data JPA - 使用 REST 调用上的查询参数从方法名称生成查询

Spring Data JPA 通过查询从实体获取投影

pandas的DataFrame对象抽取“整列”或者“整行”数据

如何在 Spring Data (JPA) 派生查询中按多个属性排序?

Spring data jpa - 如何通过方法名称组合多个And和Or