如何打电话'像任何' JPQL中的PostgreSQL函数

时间:2015-06-19 12:11:39

标签: jpa

我有下一期: 我有基于我想要过滤的名字列表。问题是我没有全名(因为我从ui接收它们),例如,我有这个数组= [&#39 ; Joh',' Michae']。

所以,我想根据这个数组进行过滤。

我在PostgreSQL中编写了查询

select * from q_ob_person where name  like any (array['%Хомяченко%', '%Вартопуз%']);

我想问一下如何编写JPQL查询。

是否可以选择像JPQL一样调用postgresql函数?

1 个答案:

答案 0 :(得分:1)

JPA 2.1允许使用

调用任何SQL函数
FUNCTION(sqlFuncName, sqlArgs)

所以你可能会做之类的事情(注意事项从来没有尝试过像你所指的那样,只是玩弄它)

FUNCTION("LIKE", FUNCTION("ANY", arrayField))

显然,通过调用特定于特定RDBMS的SQL函数,您将失去数据库独立性(如果重要的话)。