【发布时间】:2020-02-15 06:34:59
【问题描述】:
我正在尝试进行查询并使用 postgresql (pgadmin) 它可以正常工作,但自休眠 (Java Spring JPA) 以来就没有。跳过unnset不知道的错误
我的查询如下:
@Query("select w from Work w where array_length(w.groups, 1) is null or exists (select 1 from unnest(w.groups) n where n = :group)")
而且报错如下:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: unnest near line 1, column 123 [select w from org.vin.ns.core.domain.model.Work w where array_length(w.groups, 1) is null or exists (select 1 from unnest(w.groups) n where n = :group)]
有人知道我如何在休眠中使用 unnest 函数吗?
数据库中的groups字段的类型是text[]
谢谢。
【问题讨论】:
-
HQL(或 JPQL)对数据库特定功能一无所知。如果要使用
unnest(),则需要创建原生查询 -
但是除了unnest别无选择?
-
我认为没有其他选择。您必须使用本机查询。
标签: java postgresql hibernate spring-data-jpa