我正在嘗試使用 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[(?, ?)]
uj5u.com熱心網友回復:
array[:ids]
如果我們采用該串列,它將轉換為用括號括起來的逗號分隔值。
array[(?, ?)]
除此之外,我們可以使用字串值
List<Integer> ids = new List<Integer>{1,2,3};
String idsString = string.Join(",", ids);
這是我們得到
arry[:idsString] => array[?,?]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/410650.html
標籤:
