在hibernate查询对象中设置数组参数

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!

但知道我应该如何使用休眠来做到这一点吗?

感谢期待!