when I set a query to be limited to X rows with :
criteria.setFetchSize(fetchSize);
criteria.setMaxResults(fetchSize);
it fails with this error:
ORA-00918: column ambiguously defined
checking the logs the query looks like this:
select
*
from
( select
this_.idRespuesta as idRespuesta1_82_25_,
...
from
respuestas this_
...
where
status2_.idEstado in (
0
)
...
order by
this_.fechaRegistro desc
)
where
rownum <= 1;
and running it in sqlDeveloper trows the same error, BUT if you remove the outer select with the rownum or you move the rownum to the inner select it works just fine,
How can I set to hibernate to not do a subselect in this cases and insert the rownum directly in the main select?
Edit 1: full query:
select
*
from
( select
this_.idRespuesta as idRespuesta1_82_25_,
this_.idArea as idArea12_82_25_,
this_.idAreaDestino as idAreaDestino13_82_25_,
this_.idAsunto as idAsunto9_82_25_,
this_.atributos as atributos2_82_25_,
this_.comentario as comentario3_82_25_,
this_.comentariorechazo as comentariorechazo4_82_25_,
this_.fechaAcuse as fechaAcuse5_82_25_,
this_.fechaEnvio as fechaEnvio6_82_25_,
this_.fechaRegistro as fechaRegistro7_82_25_,
this_.folioRespuesta as folioRespuesta8_82_25_,
this_.infomexzipsn as infomexzipsn10_82_25_,
this_.porcentaje as porcentaje11_82_25_,
this_.idEstatusRespuesta as idEstatusRespuest14_82_25_,
this_.idTipoRespuesta as idTipoRespuesta15_82_25_,
area3_.idArea as idArea1_29_0_,
area3_.activosn as activosn2_29_0_,
area3_.claveCDD as claveCDD3_29_0_,
area3_.clave as clave4_29_0_,
area3_.contentId as contentId5_29_0_,
area3_.descripcion as descripcion6_29_0_,
area3_.idAreaPadre as idAreaPadre7_29_0_,
area3_.idInstitucion as idInstitucion11_29_0_,
area3_.interoperasn as interoperasn8_29_0_,
area3_.siglas as siglas9_29_0_,
area3_.titularUsuario as titularUsuario12_29_0_,
area3_.titularCargo as titularCargo10_29_0_,
area3_1_.idAreaPadre as idAreaPadre1_4_0_,
rutaArea(area3_.idArea) as formula0_0_,
rutaIdArea(area3_.idArea) as formula1_0_,
institucio5_.idInstitucion as idInstitucion1_72_1_,
institucio5_.abreviatura as abreviatura2_72_1_,
institucio5_.activosn as activosn3_72_1_,
institucio5_.clavecdd as clavecdd4_72_1_,
institucio5_.descripcion as descripcion5_72_1_,
institucio5_.endpoint as endpoint6_72_1_,
institucio5_.interoperasn as interoperasn7_72_1_,
institucio5_.idTipoInstitucion as idTipoInstitucion8_72_1_,
institucio5_.uri as uri9_72_1_,
titular4_.idRepresentante as idRepresentante1_81_2_,
titular4_.idArea as idArea8_81_2_,
titular4_.cargo as cargo2_81_2_,
titular4_.idExterno as idExterno3_81_2_,
titular4_.idTipoRepresentante as idTipoRepresentant4_81_2_,
titular4_.materno as materno5_81_2_,
titular4_.nombre as nombre6_81_2_,
titular4_.paterno as paterno7_81_2_,
titular4_1_.prefijo as prefijo1_79_2_,
titular4_2_.activosn as activosn1_92_2_,
titular4_2_.idRol as idRol8_92_2_,
titular4_.nombre || ' ' || titular4_.paterno || ' ' || titular4_.materno as formula10_2_,
areaauxili13_.idArea as idArea1_30_3_,
areaauxili13_.activosn as activosn2_30_3_,
areaauxili13_.claveCDD as claveCDD3_30_3_,
areaauxili13_.descripcion as descripcion4_30_3_,
areaauxili13_.idAreaPadre as idAreaPadre5_30_3_,
areaauxili13_.idInstitucion as idInstitucion10_30_3_,
areaauxili13_.interoperasn as interoperasn6_30_3_,
areaauxili13_.siglas as siglas7_30_3_,
areaauxili13_.titularUsuario as titularUsuario8_30_3_,
areaauxili13_.titularCargo as titularCargo9_30_3_,
rutaArea(areaauxili13_.idArea) as formula2_3_,
institucio14_.idInstitucion as idInstitucion1_72_4_,
institucio14_.abreviatura as abreviatura2_72_4_,
institucio14_.activosn as activosn3_72_4_,
institucio14_.clavecdd as clavecdd4_72_4_,
institucio14_.descripcion as descripcion5_72_4_,
institucio14_.endpoint as endpoint6_72_4_,
institucio14_.interoperasn as interoperasn7_72_4_,
institucio14_.idTipoInstitucion as idTipoInstitucion8_72_4_,
institucio14_.uri as uri9_72_4_,
usuario15_.idusuario as idusuario2_92_5_,
usuario15_.activosn as activosn1_92_5_,
usuario15_.idArea as idArea4_92_5_,
usuario15_.email as email3_92_5_,
usuario15_.idarea as idarea4_92_5_,
usuario15_.rfc as rfc5_92_5_,
usuario15_.idRol as idRol8_92_5_,
usuario15_.idtipousuario as idtipousuario6_92_5_,
usuario15_.keyUsuario as keyUsuario7_92_5_,
usuario15_1_.paterno as paterno7_81_5_,
usuario15_1_.cargo as cargo2_81_5_,
usuario15_1_.idarea as idarea8_81_5_,
usuario15_1_.idTipoRepresentante as idTipoRepresentant4_81_5_,
usuario15_1_.materno as materno5_81_5_,
usuario15_1_.nombre as nombre6_81_5_,
usuario15_2_.prefijo as prefijo1_79_5_,
usuario15_3_.aceptosn as aceptosn1_91_5_,
usuario15_3_.capacitadosn as capacitadosn2_91_5_,
areaaux16_.idArea as idArea1_28_6_,
areaaux16_.activosn as activosn2_28_6_,
areaaux16_.descripcion as descripcion3_28_6_,
areaaux16_.idInstitucion as idInstitucion4_28_6_,
institucio17_.idInstitucion as idInstitucion1_72_7_,
institucio17_.abreviatura as abreviatura2_72_7_,
institucio17_.activosn as activosn3_72_7_,
institucio17_.clavecdd as clavecdd4_72_7_,
institucio17_.descripcion as descripcion5_72_7_,
institucio17_.endpoint as endpoint6_72_7_,
institucio17_.interoperasn as interoperasn7_72_7_,
institucio17_.idTipoInstitucion as idTipoInstitucion8_72_7_,
institucio17_.uri as uri9_72_7_,
rol18_.idRol as idRol1_84_8_,
rol18_.activosn as activosn2_84_8_,
rol18_.atributos as atributos3_84_8_,
rol18_.descripcion as descripcion4_84_8_,
rol18_.idArea as idArea5_84_8_,
rol18_.areaLim as areaLim6_84_8_,
rol18_.idTipoRol as idTipoRol7_84_8_,
areapadre19_.idArea as idArea1_31_9_,
areapadre19_.descripcion as descripcion2_31_9_,
areapadre19_.idAreaPadre as idAreaPadre3_31_9_,
areapadre19_.interoperasn as interoperasn4_31_9_,
areadestin1_.idArea as idArea1_29_10_,
areadestin1_.activosn as activosn2_29_10_,
areadestin1_.claveCDD as claveCDD3_29_10_,
areadestin1_.clave as clave4_29_10_,
areadestin1_.contentId as contentId5_29_10_,
areadestin1_.descripcion as descripcion6_29_10_,
areadestin1_.idAreaPadre as idAreaPadre7_29_10_,
areadestin1_.idInstitucion as idInstitucion11_29_10_,
areadestin1_.interoperasn as interoperasn8_29_10_,
areadestin1_.siglas as siglas9_29_10_,
areadestin1_.titularUsuario as titularUsuario12_29_10_,
areadestin1_.titularCargo as titularCargo10_29_10_,
areadestin1_1_.idAreaPadre as idAreaPadre1_4_10_,
rutaArea(areadestin1_.idArea) as formula0_10_,
rutaIdArea(areadestin1_.idArea) as formula1_10_,
areadestin7_.idInstitucion as idInstitucion1_72_11_,
areadestin7_.abreviatura as abreviatura2_72_11_,
areadestin7_.activosn as activosn3_72_11_,
areadestin7_.clavecdd as clavecdd4_72_11_,
areadestin7_.descripcion as descripcion5_72_11_,
areadestin7_.endpoint as endpoint6_72_11_,
areadestin7_.interoperasn as interoperasn7_72_11_,
areadestin7_.idTipoInstitucion as idTipoInstitucion8_72_11_,
areadestin7_.uri as uri9_72_11_,
areadestin6_.idRepresentante as idRepresentante1_81_12_,
areadestin6_.idArea as idArea8_81_12_,
areadestin6_.cargo as cargo2_81_12_,
areadestin6_.idExterno as idExterno3_81_12_,
areadestin6_.idTipoRepresentante as idTipoRepresentant4_81_12_,
areadestin6_.materno as materno5_81_12_,
areadestin6_.nombre as nombre6_81_12_,
areadestin6_.paterno as paterno7_81_12_,
areadestin6_1_.prefijo as prefijo1_79_12_,
areadestin6_2_.activosn as activosn1_92_12_,
areadestin6_2_.idRol as idRol8_92_12_,
areadestin6_.nombre || ' ' || areadestin6_.paterno || ' ' || areadestin6_.materno as formula10_12_,
asuntocons8_.idAsunto as idAsunto1_37_13_,
asuntocons8_.area as area2_37_13_,
asuntocons8_.areaDestino as areaDestino3_37_13_,
asuntocons8_.areaPadre as areaPadre4_37_13_,
asuntocons8_.asuntoDescripcion as asuntoDescripcion5_37_13_,
asuntocons8_.asuntoDescripcionPadre as asuntoDescripcionP6_37_13_,
asuntocons8_.cargoTitularAreaDestino as cargoTitularAreaDe7_37_13_,
asuntocons8_.comentario as comentario8_37_13_,
asuntocons8_.documentosCount as documentosCount9_37_13_,
asuntocons8_.EtFt as EtFt10_37_13_,
asuntocons8_.especialsn as especialsn11_37_13_,
asuntocons8_.fechaAcuse as fechaAcuse12_37_13_,
asuntocons8_.fechaAcusePadre as fechaAcusePadre13_37_13_,
asuntocons8_.fechaCompromiso as fechaCompromiso14_37_13_,
asuntocons8_.fechaCompromisoPadre as fechaCompromisoPa15_37_13_,
asuntocons8_.fechaElaboracion as fechaElaboracion16_37_13_,
asuntocons8_.fechaElaboracionPadre as fechaElaboracionP17_37_13_,
asuntocons8_.fechaEnvio as fechaEnvio18_37_13_,
asuntocons8_.fechaEnvioPadre as fechaEnvioPadre19_37_13_,
asuntocons8_.eventoFechaHora as eventoFechaHora20_37_13_,
asuntocons8_.fechaRegistro as fechaRegistro21_37_13_,
asuntocons8_.fechaRegistroPadre as fechaRegistroPadr22_37_13_,
asuntocons8_.firmanteAsunto as firmanteAsunto23_37_13_,
asuntocons8_.firmanteAsuntoPadre as firmanteAsuntoPad24_37_13_,
asuntocons8_.firmanteCargo as firmanteCargo25_37_13_,
asuntocons8_.firmanteCargoPadre as firmanteCargoPadr26_37_13_,
asuntocons8_.folioArea as folioArea27_37_13_,
asuntocons8_.folioAreaAsuntoPadre as folioAreaAsuntoPa28_37_13_,
asuntocons8_.folioIntermedio as folioIntermedio29_37_13_,
asuntocons8_.idArea as idArea30_37_13_,
asuntocons8_.idAreaDestino as idAreaDestino31_37_13_,
asuntocons8_.idAreaPadre as idAreaPadre32_37_13_,
asuntocons8_.idAsuntoOrigen as idAsuntoOrigen33_37_13_,
asuntocons8_.idAsuntoPadre as idAsuntoPadre34_37_13_,
asuntocons8_.idDirigidoA as idDirigidoA35_37_13_,
asuntocons8_.idEvento as idEvento36_37_13_,
asuntocons8_.idExpediente as idExpediente37_37_13_,
asuntocons8_.idFirmante as idFirmante38_37_13_,
asuntocons8_.idFirmantePadre as idFirmantePadre39_37_13_,
asuntocons8_.idPromotor as idPromotor40_37_13_,
asuntocons8_.idPromotorPadre as idPromotorPadre41_37_13_,
asuntocons8_.idRemitente as idRemitente42_37_13_,
asuntocons8_.idRemitentePadre as idRemitentePadre43_37_13_,
asuntocons8_.idSubTema as idSubTema44_37_13_,
asuntocons8_.idTema as idTema45_37_13_,
asuntocons8_.idTipoDocumento as idTipoDocumento46_37_13_,
asuntocons8_.idTipoRegistro as idTipoRegistro47_37_13_,
asuntocons8_.idTipoRegistroPadre as idTipoRegistroPad48_37_13_,
asuntocons8_.idTitularAreaDestino as idTitularAreaDest49_37_13_,
asuntocons8_.idInstruccion as idInstruccion64_37_13_,
asuntocons8_.maternoTurnadorPadre as maternoTurnadorPa50_37_13_,
asuntocons8_.nombresTurnadorPadre as nombresTurnadorPa51_37_13_,
asuntocons8_.numDocto as numDocto52_37_13_,
asuntocons8_.numDoctoPadre as numDoctoPadre53_37_13_,
asuntocons8_.palabraClave as palabraClave54_37_13_,
asuntocons8_.paternoTurnadorPadre as paternoTurnadorPa55_37_13_,
asuntocons8_.idPrioridad as idPrioridad65_37_13_,
asuntocons8_.promotor as promotor56_37_13_,
asuntocons8_.promotorAbreviaturaPadre as promotorAbreviatu57_37_13_,
asuntocons8_.promotorPadre as promotorPadre58_37_13_,
asuntocons8_.remitente as remitente59_37_13_,
asuntocons8_.remitentePadre as remitentePadre60_37_13_,
asuntocons8_.idEstatusAsunto as idEstatusAsunto66_37_13_,
asuntocons8_.idEstatusAsuntoPadre as idEstatusAsuntoPa67_37_13_,
asuntocons8_.idEstatusTurno as idEstatusTurno68_37_13_,
asuntocons8_.idTipoAsunto as idTipoAsunto61_37_13_,
asuntocons8_.idTipoAsuntoPadre as idTipoAsuntoPadre62_37_13_,
asuntocons8_.titularAreaDestino as titularAreaDestin63_37_13_,
tipoinstru24_.IDINSTRUCCION as IDINSTRUCCION1_22_14_,
tipoinstru24_.ACTIVOSN as ACTIVOSN2_22_14_,
tipoinstru24_.idArea as idArea5_22_14_,
tipoinstru24_.DESCRIPCION as DESCRIPCION3_22_14_,
tipoinstru24_.REQRESPSN as REQRESPSN4_22_14_,
areaauxili25_.idArea as idArea1_30_15_,
areaauxili25_.activosn as activosn2_30_15_,
areaauxili25_.claveCDD as claveCDD3_30_15_,
areaauxili25_.descripcion as descripcion4_30_15_,
areaauxili25_.idAreaPadre as idAreaPadre5_30_15_,
areaauxili25_.idInstitucion as idInstitucion10_30_15_,
areaauxili25_.interoperasn as interoperasn6_30_15_,
areaauxili25_.siglas as siglas7_30_15_,
areaauxili25_.titularUsuario as titularUsuario8_30_15_,
areaauxili25_.titularCargo as titularCargo9_30_15_,
rutaArea(areaauxili25_.idArea) as formula2_15_,
tipopriori26_.idPrioridad as idPrioridad1_89_16_,
tipopriori26_.activosn as activosn2_89_16_,
tipopriori26_.idArea as idArea5_89_16_,
tipopriori26_.descripcion as descripcion3_89_16_,
tipopriori26_.dias as dias4_89_16_,
areaauxili27_.idArea as idArea1_30_17_,
areaauxili27_.activosn as activosn2_30_17_,
areaauxili27_.claveCDD as claveCDD3_30_17_,
areaauxili27_.descripcion as descripcion4_30_17_,
areaauxili27_.idAreaPadre as idAreaPadre5_30_17_,
areaauxili27_.idInstitucion as idInstitucion10_30_17_,
areaauxili27_.interoperasn as interoperasn6_30_17_,
areaauxili27_.siglas as siglas7_30_17_,
areaauxili27_.titularUsuario as titularUsuario8_30_17_,
areaauxili27_.titularCargo as titularCargo9_30_17_,
rutaArea(areaauxili27_.idArea) as formula2_17_,
status28_.idEstado as idEstado1_55_18_,
status28_.descripcion as descripcion2_55_18_,
status29_.idEstado as idEstado1_55_19_,
status29_.descripcion as descripcion2_55_19_,
status30_.idEstado as idEstado1_55_20_,
status30_.descripcion as descripcion2_55_20_,
empresa31_.idEmpresa as idEmpresa1_54_21_,
empresa31_.contentId as contentId2_54_21_,
empresa31_.nombre as nombre3_54_21_,
empresa31_.rfc as rfc4_54_21_,
domicilio32_.idOrigen as idOrigen1_54_27_,
domicilio32_.calleNumero as calleNumero2_53_27_,
domicilio32_.colonia as colonia3_53_27_,
domicilio32_.cp as cp4_53_27_,
domicilio32_.delegacion as delegacion5_53_27_,
domicilio32_.idTipoOrigen as idTipoOrigen6_53_27_,
domicilio32_.identidad as identidad7_53_27_,
domicilio32_.telefono as telefono8_53_27_,
entidad33_.identidad as identidad1_8_22_,
entidad33_.abreviatura as abreviatura2_8_22_,
entidad33_.descripcion as descripcion3_8_22_,
status2_.idEstado as idEstado1_55_23_,
status2_.descripcion as descripcion2_55_23_,
tiporespue35_.idTiposRespuesta as idTiposRespuesta1_90_24_,
tiporespue35_.descripcion as descripcion2_90_24_,
tiporespue35_.infomex as infomex3_90_24_,
tiporespue35_.tipoconcluidosn as tipoconcluidosn4_90_24_
from
respuestas this_
left outer join
areas area3_
on this_.idArea=area3_.idArea
left outer join
AreasPadresOnly area3_1_
on area3_.idArea=area3_1_.idArea
left outer join
instituciones institucio5_
on area3_.idInstitucion=institucio5_.idInstitucion
left outer join
representantes titular4_
on area3_.titularUsuario=titular4_.idRepresentante
left outer join
prefijoUsuarios titular4_1_
on titular4_.idRepresentante=titular4_1_.idRepresentante
left outer join
usuarios titular4_2_
on titular4_.idRepresentante=titular4_2_.idUsuario
left outer join
areasAuxiliar areaauxili13_
on titular4_.idArea=areaauxili13_.idArea
left outer join
instituciones institucio14_
on areaauxili13_.idInstitucion=institucio14_.idInstitucion
left outer join
usuarios usuario15_
on titular4_.idRepresentante=usuario15_.idusuario
left outer join
representantes usuario15_1_
on usuario15_.idusuario=usuario15_1_.idrepresentante
left outer join
prefijoUsuarios usuario15_2_
on usuario15_.idusuario=usuario15_2_.idRepresentante
left outer join
userCapacita usuario15_3_
on usuario15_.idusuario=usuario15_3_.userName
left outer join
areaAux areaaux16_
on usuario15_.idArea=areaaux16_.idArea
left outer join
instituciones institucio17_
on areaaux16_.idInstitucion=institucio17_.idInstitucion
left outer join
roles rol18_
on usuario15_.idRol=rol18_.idRol
left outer join
areasPadre areapadre19_
on area3_1_.idAreaPadre=areapadre19_.idArea
left outer join
areas areadestin1_
on this_.idAreaDestino=areadestin1_.idArea
left outer join
AreasPadresOnly areadestin1_1_
on areadestin1_.idArea=areadestin1_1_.idArea
left outer join
instituciones areadestin7_
on areadestin1_.idInstitucion=areadestin7_.idInstitucion
left outer join
representantes areadestin6_
on areadestin1_.titularUsuario=areadestin6_.idRepresentante
left outer join
prefijoUsuarios areadestin6_1_
on areadestin6_.idRepresentante=areadestin6_1_.idRepresentante
left outer join
usuarios areadestin6_2_
on areadestin6_.idRepresentante=areadestin6_2_.idUsuario
left outer join
asuntoconsultar asuntocons8_
on this_.idAsunto=asuntocons8_.idAsunto
left outer join
TIPOSINSTRUCCION tipoinstru24_
on asuntocons8_.idInstruccion=tipoinstru24_.IDINSTRUCCION
left outer join
areasAuxiliar areaauxili25_
on tipoinstru24_.idArea=areaauxili25_.idArea
left outer join
tiposPrioridad tipopriori26_
on asuntocons8_.idPrioridad=tipopriori26_.idPrioridad
left outer join
areasAuxiliar areaauxili27_
on tipopriori26_.idArea=areaauxili27_.idArea
left outer join
estados status28_
on asuntocons8_.idEstatusAsunto=status28_.idEstado
left outer join
estados status29_
on asuntocons8_.idEstatusAsuntoPadre=status29_.idEstado
left outer join
estados status30_
on asuntocons8_.idEstatusTurno=status30_.idEstado
left outer join
empresas empresa31_
on this_.idAreaDestino=empresa31_.idEmpresa
left outer join
domicilios domicilio32_
on empresa31_.idEmpresa=domicilio32_.idOrigen
and (
domicilio32_.idtipoorigen = 'E'
)
left outer join
Entidades entidad33_
on domicilio32_.identidad=entidad33_.identidad
left outer join
estados status2_
on this_.idEstatusRespuesta=status2_.idEstado
inner join
tiposRespuesta2 tiporespue35_
on this_.idTipoRespuesta=tiporespue35_.idTiposRespuesta
where
status2_.idEstado in (
0
)
and this_.idAsunto in (
select
a_.idAsunto as y0_
from
Asuntos a_
left outer join
asuntosCorrespondencia a_1_
on a_.idAsunto=a_1_.idAsunto
where
not (a_.idTipoAsunto='A')
and a_.idAsunto=this_.idAsunto
)
order by
this_.fechaRegistro desc
)
where
rownum <= 1;