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

Java 在hibernate查询对象中设置数组参数,java,postgresql,hibernate,jdbc,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$; 然后像这样执行上面的函数 SELECT test('{"This", "is", "very", "c

这就是我的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$;
然后像这样执行上面的函数

SELECT test('{"This", "is", "very", "cool"}'::TEXT[]); 
Array strParam= conn.createArrayOf("varchar", strList.toArray(new String[strList.size()]));
在此之前,我的代码工作正常,但当我试图从应用程序的代码调用此select查询时,我不知道如何在查询中设置它。 下面是我的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();
然后使用setArray方法在preparedStatement中设置这个sqlArray

但是你知道我该如何使用hibernate吗


期待中的感谢

您是否尝试过Hibernate查询的setParameterList方法?