2017-05-30 59 views
0

我想从参数中乘以'km'的值从数据库中移出的值并返回结果,当我使用以下查询时,它给我一个错误,参数[1]与该点不存在JPA存储库:如何乘以参数值的列值

请帮助我如何计算calue?

public interface FareRateRepository extends JpaRepository<FareRate, Long>{ 

    @Query("select f.moving* :km from FareRate f where f.id=1") 
    float calculateFare(@Param("km") Long km); 

} 
+0

可以在查询中的任意位置使用from子句中的参数。此外,这是一个JPQL或本机的SQL查询? –

+0

任意地点的意思是? @ M.Deinum – SFAH

+0

基本上来自from子句之前的任何东西。 –

回答

1

你错过了 “:”

select f.moving* :km from FareRate f where f.id=1 
+0

同一个错误“参数与该位置....” – SFAH

+0

只是为了确认这是正确的吗? f.id = 1或者在你的代码中是否是f.id =?1? – Zeromus

0

试试这个

@Query(value = "select (f.moving * ?1) as fare from FareRate f where f.id=1", nativeQuery = true) 
float calculateFare(Long km); 

注:您必须指定实际的表名而不是FareRate查询。这将运行一个本地查询。