如何像使用任何字符串JPA数组一样使用

时间:2019-03-14 21:06:58

标签: java postgresql hibernate jpa sql-like

我正在尝试使用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);

我该如何解决。...

0 个答案:

没有答案