gpt4 book ai didi

java - Hibernate 中缺少关键字

转载 作者:行者123 更新时间:2023-12-05 07:01:08 29 4
gpt4 key购买 nike

我在我的模型/实体类中添加了一个@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组。

我该如何处理?谢谢

最佳答案

这不是 hibernate 问题,而是您的查询问题。内部查询应该命名或别名,并且您缺少名称,因此 WITHIN 被解释为名称。

正确的行将是

@Formula("(select (LISTAGG(ver.ACC_DESC_ES, ', ') TEMPCOLNAME 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')")

关于java - Hibernate 中缺少关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63932834/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com