代码之家  ›  专栏  ›  技术社区  ›  dvelopp

如何以Spring JPA中构建参数列表的方式自定义参数?

  •  0
  • dvelopp  · 技术社区  · 3 年前

    我试图用Spring JPA存储库中的方法调用DB函数,如下所示:

    @Query(value = "select * test.getVals(:ids)", nativeQuery = true)
    

    select * from test.getVals(array[2, 14577])
    

    但是,正在生成的SQL看起来不同:

    select * from test.getVals(?, ?, ?)
    

    此语法不起作用。 有没有好方法可以自定义这些参数如何转换为SQL?这样我就可以得到数组[?,?]?

    array[:ids]
    

    它是用()转换的,如下所示:

    array[(?, ?)]
    
    0 回复  |  直到 3 年前
        1
  •  1
  •   Navin Kumar    3 年前
    array[:ids]
    

    array[(?, ?)]
    

    除此之外,我们可以使用字符串值

    List<Integer> ids = new List<Integer>{1,2,3};
    String idsString = string.Join(",", ids);
    

    这是我们得到的

    arry[:idsString] => array[?,?]