hibernate rownum导致ORA-00918:列模糊定义

时间:2017-09-14 19:26:20

标签: java oracle hibernate rownum

当我将查询限制为X行时使用:

criteria.setFetchSize(fetchSize);
criteria.setMaxResults(fetchSize);

它因此错误而失败:

ORA-00918: column ambiguously defined

检查日志查询如下所示:

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;

并在sqlDeveloper中运行它会导致相同的错误,如果您使用 rownum 删除外部选择或移动 > rownum 到内部选择它运作得很好,

在这种情况下如何将hibernate设置为不进行子选择并直接在主选择中插入 rownum

编辑1: 完整查询:

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;

0 个答案:

没有答案