【发布时间】:2015-09-19 06:00:40
【问题描述】:
select distinct groupMember.proUcer.proUserDetail
from proGroupMembership groupMember
where groupMember.proGroup.id =:groupId and groupMember.status = 1
order by groupMember.proUcer.proUserDetail.firstName
ORA-01791 异常
当我执行这个查询时来了。
经过多次研究,我得到了解决这个问题的解决方案,方法是再选择一个我们正在应用订单的列 -
所以我根据该解决方案转换查询
select distinct groupMember.proUcer.proUserDetail, groupMember.proUcer.proUserDetail.firstName
from proGroupMembership groupMember
where groupMember.proGroup.id =:groupId and groupMember.status = 1
order by groupMember.proUcer.proUserDetail.firstName
现在我的问题是我只需要对象列表,但 query.list() 返回对象数组列表。 请帮我解决这个问题。
【问题讨论】:
-
您的意思是在输出中只需要不同的 groupMember.proUcer.proUserDetail 而不需要 groupMember.proUcer.proUserDetail.firstName??
-
是的 Utsav 我只需要 groupMember.proUcer.proUserDetail 的列表。
-
好的。我不是 java/hibernate 人,但如果您使用的是 Oracle 11+,那么这应该可以。
with tbl(proUserDetail) as (*your second query*) select proUserDetail from tbl如果没有请告诉我。 -
不,我使用的是 oracle 10g。它可以在 oracle 10g 中运行吗?
-
试一试。将 ... 替换为您剩余的第二个查询。我只是为不同的列名使用了别名
with tbl as (select distinct groupMember.proUcer.proUserDetail as distUserDetail, <....rest of the second query> ) select distUserDetail from tbl
标签: java sql database oracle hibernate