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 Carlos Henrique Leclerc De Oliveira <cl...@uolinc.com> on 2003/09/12 19:22:43 UTC

problema with m:n association

Hi, I am trying to implement a m:n association,
using manual decomposition into two 1:n 
associations, because I need get information
from intermediary table.

The situation I want is:
One "Promotion" has a list of "Offer".

I have a Offer_Promotion intermediary table.

When I find one "Promotion", I call getOffers()
method and I wish to have a collection of "Offer".

But, didnĀ“t work when I make a reference between
Offer_Promotion table with Offer table. The result
was a collection with only one Offer, but I have
a lot of offers.

Could you help me, please?

Thanks a lot,
Caique 


My repository.xml for Promotion, Offer and 
Offer_Promotion is:


<class-descriptor
	class="uol.domain.PromotionEntity"
	table="uolbr.promotion">

	<field-descriptor
		id="1"
		name="codPromotion"
		column="cod_promotion"
		jdbc-type="varchar"
		primarykey="true"
	/>
	<field-descriptor
		id="2"
		name="name"
		column="nam_promotion"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="3"
		name="validityStartTime"
		column="dat_validity_start"
		jdbc-type="date"
		primarykey="false"
	/>
	<field-descriptor
		id="4"
		name="validityFinishTime"
		column="dat_validity_finish"
		jdbc-type="date"
		primarykey="false"
	/>
	<field-descriptor
		id="5"
		name="promotionInitial"
		column="des_promotion_initial"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="6"
		name="promotionFinal"
		column="des_promotion_final"
		jdbc-type="varchar"
		primarykey="false"
	/>

     <collection-descriptor
		name="offerEntitys"
		element-class-ref="uol.domain.OfferPromotionEntity"
	>
        <inverse-foreignkey field-ref="codPromotion"/>
    </collection-descriptor>
</class-descriptor>


<class-descriptor
	class="uol.domain.OfferPromotionEntity"
	table="uolbr.offer_promotion">

	<field-descriptor
		id="1"
		name="presentationOrder"
		column="num_presentation_order"
		jdbc-type="integer"
		primarykey="false"
	/>
	<field-descriptor
		id="2"
		name="presentationFormat"
		column="des_presentation_format"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="3"
		name="codOffer"
		column="cod_offer"
		jdbc-type="varchar"
		primarykey="true"
	/>
	<field-descriptor
		id="4"
		name="codPromotion"
		column="cod_promotion"
		jdbc-type="varchar"
		primarykey="true"
	/>
    <reference-descriptor
         name="offerEntity"
         class-ref="uol.domain.OfferEntity"
         auto-retrieve="true"
      >
         <foreignkey field-ref="codOffer"/>
    </reference-descriptor>

</class-descriptor>


<class-descriptor
	class="uol.domain.OfferEntity"
	table="uolbr.offer">

	<field-descriptor
		id="1"
		name="codOffer"
		column="cod_offer"
		jdbc-type="varchar"
		primarykey="true"
	/>
	<field-descriptor
		id="2"
		name="name"
		column="nam_offer"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="3"
		name="shortTitle"
		column="des_short_title"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="4"
		name="longTitle"
		column="des_long_title"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="5"
		name="value"
		column="des_value"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="6"
		name="validityStartTime"
		column="dat_validity_start"
		jdbc-type="date"
		primarykey="false"
	/>
	<field-descriptor
		id="7"
		name="validityFinishTime"
		column="dat_validity_finish"
		jdbc-type="date"
		primarykey="false"
	/>
	<field-descriptor
		id="8"
		name="codInscriptionStatus"
		column="cod_inscription_status"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="9"
		name="inscriptionAcceptanceId"
		column="idt_inscription_acceptance"
		jdbc-type="integer"
		primarykey="false"
	/>
	<field-descriptor
		id="10"
		name="codSalesPackage"
		column="cod_sales_package"
		jdbc-type="varchar"
		primarykey="false"
	/>
	<field-descriptor
		id="11"
		name="contractId"
		column="idt_contract"
		jdbc-type="integer"
		primarykey="false"
	/>
	<field-descriptor
		id="12"
		name="codCounterproposal"
		column="cod_counterproposal"
		jdbc-type="varchar"
		primarykey="false"
	/>

</class-descriptor>