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

问题描述 投票:0回答:1

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

springData方法是:

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

我访问类似的类型:

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

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

谢谢

java spring spring-data-jpa
1个回答
1
投票

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

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

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

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

然后将其称为

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

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

© www.soinside.com 2019 - 2024. All rights reserved.