SpringData-通过方法名称获取单列查询

时间:2019-01-21 14:09:09

标签: java spring spring-data-jpa

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

springData方法是:

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

然后我访问如下类型:

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

如何只检索需要的列?

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

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

然后将其称为

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

将来会很高兴看到此功能,但就目前而言,解决它并不困难。