【问题标题】:How to pass path variable to JPA repository from controller如何将路径变量从控制器传递到 JPA 存储库
【发布时间】:2021-07-04 15:05:20
【问题描述】:

如何将路径变量从控制器传递到 JPA 存储库。

我在这里有一个控制器,我从前端得到一个变量。

这是我的控制器:

@GetMapping("/getTransictionsAndInstruments/{id}")
    public List<TransictionProjection> getTransitionInstrument(@PathVariable Long id){
        return transictionrepository.getTransictionsAndInstruments();
    }

基于这个 id,我想对我的结果进行一些更改。我已经有查询并想在 repo 中使用这个 id。那么如何在 repo 中传递它。

@Repository
public interface TransictionRepository extends JpaRepository<Transictions, Long>{
    
    @Query(value = "SELECT transiction.user_id, transiction.quantity, transiction.instrument_name, transiction.Price, instrument.LTP, instrument.jo_caps FROM instrument INNER JOIN transiction ON instrument.instrument = transiction.instrument_name where transiction.User= id", nativeQuery = true)
    
    
    List<TransictionProjection> getTransictionsAndInstruments();
}

我想在我的查询中包含这一行 where transiction.User= id

关于如何实现这一点的任何帮助。

【问题讨论】:

    标签: java spring-boot jpa spring-data-jpa


    【解决方案1】:

    我认为这可以通过以下方式实现: 在您的本机查询中添加 :id 并在函数中传递 id

    @Query(value = "SELECT transiction.user_id, transiction.quantity, transiction.instrument_name, 
    transiction.Price, instrument.LTP, instrument.jo_caps FROM instrument INNER JOIN transiction ON instrument.instrument = transiction.instrument_name 
    where transiction.User= :id", nativeQuery = true)
    List<TransictionProjection> getTransictionsAndInstruments(Long id);
    

    【讨论】:

    • 工作,谢谢。我也需要更新控制器/
    • 是的。欢迎:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 2019-12-09
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多