sum*_*mit 5 java postgresql hibernate jdbc
这就是我的 plpqsql 函数(Postgres 函数)的样子
CREATE OR REPLACE FUNCTION public.test(my_ids text[]) RETURNS void
LANGUAGE plpgsql AS $function$
BEGIN
RAISE NOTICE '--- Processing data%', my_ids;
END;
$function$;
Run Code Online (Sandbox Code Playgroud)
并像这样执行上面的函数
SELECT test('{"This", "is", "very", "cool"}'::TEXT[]);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的代码工作正常,但是当我尝试从应用程序的代码中调用此选择查询时,我不知道如何在查询中设置它。下面是我的java代码
String query = "SELECT public.test( ? );";
SQLQuery sqlQuery = session.createSQLQuery(query);
List<String> strList = new ArrayList<>();
strList.add("hello");
strList.add("world");
String[] strParam = strList.toArray(new String[strList.size()]);
sqlQuery.setParameter(1, strParam); // this is not working what shall i use for it ?
sqlQuery.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
所以我在代码注释中提到的问题是如何在查询中设置这个数组。
我可以像这样在 JDBC 中使用它
Array strParam= conn.createArrayOf("varchar", strList.toArray(new String[strList.size()]));
Run Code Online (Sandbox Code Playgroud)
然后使用setArray方法在preparedStatement中设置这个sqlArray!
但知道我应该如何使用休眠来做到这一点吗?
感谢期待!
| 归档时间: |
|
| 查看次数: |
605 次 |
| 最近记录: |