我正在尝试使用HIBERNATE和JPA进行咨询。
这是本机查询,适用于postgres
select * from table tb where upper(tb.column1) like any(array[?1]);
但是当我使用jpa运行时,出现以下错误
[42883]错误:运算符不存在:文本~~记录 Dica:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。
我看到这是因为休眠模式像这样运行查询:
select * from table tb where upper(tb.column1) like any(array[('%text1%', '%texte2%')]);
,它应该与这样的'()'相同:
select * from table tb where upper(tb.column1) like any(array['%text1%', '%texte2%']);
这是我在JPA上运行的方式
@Query(nativeQuery = true, value = "SELECT column1 FROM table1 WHERE column1 LIKE ANY(ARRAY[?1])")
List<String> example(List<String> valores);
我该如何解决。...