【发布时间】:2021-01-04 00:57:41
【问题描述】:
我在我的模型/实体类中添加了一个@Formula,以便为每个元素发出请求。
@Formula("(select (LISTAGG(ver.ACC_DESC_ES, ', ') WITHIN GROUP (ORDER BY ACC_ID)) from TSEN_ACCIONES_BIB acc, VSEN_ELC_REVISION ver where ELC_ID = acc.ACC_ELC_ID and acc.ACC_ACTIVA='S')")
问题在于 Hibernate 将 WITHIN 作为表列,并且在没有它的情况下生成查询。
select
count(*)
from
TSEN_ACCIONES_BIB acc
where
revisionit0_.ELC_ID = acc.ACC_ELC_ID
and acc.ACC_ACTIVA='N'
and (
acc.ACC_RESALTAR='S'
or acc.ACC_RESALTAR='R'
)) as formula3_0_,
(select
LISTAGG(revisionit0_.ACC_DESC,
', ') revisionit0_.WITHIN
GROUP (ORDER BY
revisionit0_.ACC_ID)
from
TSEN_ACCIONES_BIB acc
where
revisionit0_.ELC_ID = acc.ACC_ELC_ID
and acc.ACC_ACTIVA='S') as formula4_0_,
如您所见, WITHIN GROUP 更改为 revisionit0_.WITHIN 组。
我该如何处理? 谢谢
【问题讨论】:
-
您可能必须将
WITHIN添加到方言关键字列表中。