You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Javier Martorell <jm...@brujulatelecom.com> on 2004/11/05 12:39:21 UTC

Question about outer joins

I’ve got an OJB report query to the table RES that is joined with another
table RPX (RES 1:N RPX)

RPX whith a 1:N join with another table called EMI  (RPX 1:N EMI) and
another join with (RPX N:1 ACR).  I am doing a ReportQueryByCriteria

 

            ReportQueryByCriteria query = new
ReportQueryByCriteria(resVO.class, criteria);

 

I want to do an outher join with ACR table and I use the sentence

 

query.setPathOuterJoin("reservaPaxVOs.acreditadoVO");

 

but it doesn’t work; the outer join does not appear.

 

If I use the sentence

 

            query.setPathOuterJoin("reservaPaxVOs”);

 

it makes the outer join whith both tables EMI and ACR but I only want the
outer join to work with the ACR table, how can I do it?

 

Repository: 

 

<!-- ************** TABLA T_SRV_RES *********************** -->

<class-descriptor class="com.brujulatelecom.srv.vo.ReservaVO"

                        table="T_SRV_RESERVA">

            <field-descriptor id="1" name="resCodigo" column="RES_CODIGO"

                  jdbc-type="INTEGER" primarykey="true" autoincrement="true"

                  sequence-name="S_SRV_RES"/>

    <field-descriptor id="2" name="resOfiCodResponsab"
column="RES_OFICODRESPONSAB"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="3" name="resLocalizador" column="RES_LOCALIZADOR"

                    jdbc-type="VARCHAR" autoincrement="true"

                  sequence-name="S_SRV_LOCALIZADOR"/>


    <field-descriptor id="4" name="resPlazas" column="RES_PLAZAS"

                    jdbc-type="INTEGER"/>                      

    <field-descriptor id="5" name="resPersona" column="RES_PERSONA"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="6" name="resDateCreated" column="RES_DATE_CREATED"

                    jdbc-type="TIMESTAMP"/>

    <field-descriptor id="7" name="resDateModified"
column="RES_DATE_MODIFIED"

                    jdbc-type="TIMESTAMP"/>

    <field-descriptor id="8" name="resModifiedBy" column="RES_MODIFIED_BY"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="9" name="resCreatedBy" column="RES_CREATED_BY"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="10" name="resBorrado" column="RES_BORRADO"

                    jdbc-type="CHAR"/>

    <field-descriptor id="11" name="resTemporada" column="RES_TEMPORADA"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="12" name="resEstado" column="RES_ESTADO"

                    jdbc-type="INTEGER"/>                

    <reference-descriptor name="oficinaVO"

                    class-ref="com.brujulatelecom.srv.vo.OficinaVO"

                    auto-retrieve="false">

        <foreignkey field-ref="resOfiCodResponsab"/>

    </reference-descriptor>

    <collection-descriptor

        name="salidaReservaVOs"

        element-class-ref="com.brujulatelecom.srv.vo.SalidaReservaVO"

        auto-retrieve="false">

        <inverse-foreignkey field-ref="sreResCodigo"/>

  </collection-descriptor>

  <collection-descriptor

        name="reservaPaxVOs"

        element-class-ref="com.brujulatelecom.srv.vo.ReservaPaxVO"

        auto-retrieve="false">

        <inverse-foreignkey field-ref="rpxResCodigo"/>

  </collection-descriptor>

</class-descriptor>

 

<!--************ TABLA T_SRV_RPX*************-->

<class-descriptor class="com.brujulatelecom.srv.vo.ReservaPaxVO"

                    table="T_SRV_RESERVAPAX"> 

    <field-descriptor id="1" name="rpxCodigo" column="RPX_CODIGO"

                    jdbc-type="INTEGER" primarykey="true"
autoincrement="true"

                  sequence-name="S_SRV_RPX"/>

    <field-descriptor id="2" name="rpxResCodigo" column="RPX_RESCODIGO"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="3" name="rpxAcrCodigo" column="RPX_ACRCODIGO"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="4" name="rpxNombre" column="RPX_NOMBRE"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="5" name="rpxDni" column="RPX_DNI"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="6" name="rpxTelefono" column="RPX_TELEFONO"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="7" name="rpxDateCreated" column="RPX_DATE_CREATED"

                    jdbc-type="TIMESTAMP"/>

    <field-descriptor id="8" name="rpxDateModified"
column="RPX_DATE_MODIFIED"

                    jdbc-type="TIMESTAMP"/>

    <field-descriptor id="9" name="rpxModifiedBy" column="RPX_MODIFIED_BY"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="10" name="rpxCreatedBy" column="RPX_CREATED_BY"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="11" name="rpxBorrado" column="RPX_BORRADO"

                    jdbc-type="CHAR"/>

    <field-descriptor id="12" name="rpxPersona" column="RPX_PERSONA"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="13" name="rpxTemporada" column="RPX_TEMPORADA"

                    jdbc-type="INTEGER"/>

    <reference-descriptor name="reservaVO" 

                    class-ref="com.brujulatelecom.srv.vo.ReservaVO"

                    auto-retrieve="false">

        <foreignkey field-ref="rpxResCodigo"/>

    </reference-descriptor>

    <reference-descriptor name="acreditadoVO" 

                    class-ref="com.brujulatelecom.srv.vo.AcreditadoVO"

                    auto-retrieve="false">

        <foreignkey field-ref="rpxAcrCodigo"/>

    </reference-descriptor>

    <collection-descriptor

                    name="emisionVOs"

                    element-class-ref="com.brujulatelecom.srv.vo.EmisionVO"

                    auto-retrieve="false">

        <inverse-foreignkey field-ref="emiRpxCodigo"/>

    </collection-descriptor>

</class-descriptor>

 

<!-- ************** TABLA T_SRV_EMI *********************** -->

    <class-descriptor class="com.brujulatelecom.srv.vo.EmisionVO"

                      table="T_SRV_EMISION">

        <field-descriptor id="1" name="emiCodigo" column="EMI_CODIGO"

                          jdbc-type="INTEGER" primarykey="true"

                          autoincrement="true" sequence-name="S_SRV_EMI"/>

        <field-descriptor id="2" name="emiRpxCodigo" column="EMI_RPXCODIGO"

                          jdbc-type="INTEGER"/>

        <field-descriptor id="3" name="emiSreCodigo" column="EMI_SRECODIGO"

                          jdbc-type="INTEGER"/>

        <field-descriptor id="4" name="emiOfiCodigo" column="EMI_OFICODIGO" 

                          jdbc-type="INTEGER"/>

        <field-descriptor id="5" name="emiNroDocumento"
column="EMI_NRODOCUMENTO" 

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="6" name="emiFechEmision"
column="EMI_FECHEMISION" 

                          jdbc-type="TIMESTAMP"/>

        <field-descriptor id="7" name="emiDatosEmision"
column="EMI_DATOSEMISION" 

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="8" name="emiDateCreated"
column="EMI_DATE_CREATED" 

                          jdbc-type="TIMESTAMP"/>

        <field-descriptor id="9" name="emiDateModified"
column="EMI_DATE_MODIFIED" 

                          jdbc-type="TIMESTAMP"/>

        <field-descriptor id="10" name="emiModifiedBy"
column="EMI_MODIFIED_BY" 

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="11" name="emiCreatedBy"
column="EMI_CREATED_BY" 

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="12" name="emiBorrado" column="EMI_BORRADO" 

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="13" name="emiTemporada" column="EMI_TEMPORADA"


                          jdbc-type="INTEGER"/>

        <field-descriptor id="14" name="emiHotCodigo" column="EMI_HOTCODIGO"


                          jdbc-type="INTEGER"/>

        <field-descriptor id="15" name="emiLugarPresenta"
column="EMI_LUGARPRESENTA" 

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="16" name="emiHoraPresenta"
column="EMI_HORAPRESENTA" 

                          jdbc-type="TIMESTAMP"/>

        <field-descriptor id="17" name="emiTranspIdaPars"
column="EMI_TRANSPIDAPARS"

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="18" name="emiTranspVuePars"
column="EMI_TRANSPVUEPARS"

                          jdbc-type="VARCHAR"/>

        <field-descriptor id="19" name="emiSecuenciaNroDoc"
column="EMI_SECUENCIANRODOC"

                          jdbc-type="INTEGER" autoincrement="true"
sequence-name="S_SRV_NRODOCUMENTO"/> 

        <reference-descriptor name="hotelVO"

                    class-ref="com.brujulatelecom.srv.vo.HotelVO"

                    auto-retrieve="false">

            <foreignkey field-ref="emiHotCodigo"/>

        </reference-descriptor>

        <reference-descriptor name="salidaReservaVO"

                    class-ref="com.brujulatelecom.srv.vo.SalidaReservaVO"

                    auto-retrieve="false">

            <foreignkey field-ref="emiSreCodigo"/>

        </reference-descriptor>

        <reference-descriptor name="reservaPaxVO"

                    class-ref="com.brujulatelecom.srv.vo.ReservaPaxVO"

                    auto-retrieve="false">

            <foreignkey field-ref="emiRpxCodigo"/>

        </reference-descriptor>

    </class-descriptor>

 

<!--************ TABLA T_SRV_ACR *************-->

<class-descriptor class="com.brujulatelecom.srv.vo.AcreditadoVO"

                    table="T_SRV_ACREDITADO"> 

    <field-descriptor id="1" name="acrCodigo" column="ACR_CODIGO"

                    jdbc-type="INTEGER" primarykey="true"
autoincrement="true"

                    sequence-name="S_SRV_ACR"/>

    <field-descriptor id="2" name="acrNombre" column="ACR_NOMBRE"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="3" name="acrDni" column="ACR_DNI"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="4" name="acrTelefono" column="ACR_TELEFONO"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="5" name="acrTelAcreditacion"
column="ACR_TELACREDITACION"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="6" name="acrFasCodigo" column="ACR_FASCODIGO"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="7" name="acrPrvCodProvincia"
column="ACR_ARECODPROVINCIA"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="8" name="acrConfirmadas" column="ACR_CONFIRMADAS"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="9" name="acrListaEspera" column="ACR_LISTAESPERA"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="10" name="acrCodigoProveedor"
column="ACR_CODIGOPROVEEDOR"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="11" name="acrDateCreated"
column="ACR_DATE_CREATED"

                    jdbc-type="TIMESTAMP"/>

    <field-descriptor id="12" name="acrDateModified"
column="ACR_DATE_MODIFIED"

                    jdbc-type="TIMESTAMP"/>

    <field-descriptor id="13" name="acrModifiedBy" column="ACR_MODIFIED_BY"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="14" name="acrCreatedBy" column="ACR_CREATED_BY"

                    jdbc-type="VARCHAR"/>

    <field-descriptor id="15" name="acrBorrado" column="ACR_BORRADO"

                    jdbc-type="CHAR"/>

    <field-descriptor id="16" name="acrTemporada" column="ACR_TEMPORADA"

                    jdbc-type="INTEGER"/>

    <field-descriptor id="17" name="acrCp" column="ACR_CP"

                    jdbc-type="VARCHAR"/>

    <reference-descriptor name="provinciaVO"

                    class-ref="com.brujulatelecom.srv.vo.ProvinciaVO"

                    auto-retrieve="false">

        <foreignkey field-ref="acrPrvCodProvincia"/>

    </reference-descriptor>

    <reference-descriptor name="faseVO"

                    class-ref="com.brujulatelecom.srv.vo.FaseVO"

                    auto-retrieve="false">

        <foreignkey field-ref="acrFasCodigo"/>

    </reference-descriptor>

    <collection-descriptor

                    name="reservaPaxVOs"

 
element-class-ref="com.brujulatelecom.srv.vo.ReservaPaxVO"

                    auto-retrieve="false">

        <inverse-foreignkey field-ref="rpxAcrCodigo"/>

    </collection-descriptor>

    <collection-descriptor

                    name="acrResActivaOficinaVOs"

 
element-class-ref="com.brujulatelecom.srv.vo.AcrResActivaOficinaVO"

                    auto-retrieve="false">

        <inverse-foreignkey field-ref="aroAcrCodigo"/>

    </collection-descriptor>   

</class-descriptor>

 

Thanks

 

Javier Martorell Sitjar

Desarrollador de Proyectos Software

Brújula Telecom

T. +34 971 433 909 - F. +34 971 433 910

www.brujulatelecom.com

__________________________________

En el corazón de su negocio