Phil,

What OJB doesn't support exactly?

Sylvain

-----Message d'origine-----
De: Phil Warrick [mailto:[EMAIL PROTECTED]]
Date: lundi, 16. d�cembre 2002 17:11
Cc: OJB Users List
Objet: Re: OJB and recursive relationship


Sylvain,

Actually my example wouldn't work for a reference (it needs access to 
the indirection table "QualifiedARef" and OJB doesn't support this yet 
AFAIK).  A collection in the A class descriptor should work though:

<collection-descriptor
          name="qualifiedARefs"
          element-class-ref="QualifiedARef"
          auto-retrieve="true"
          auto-update="false"
          indirection-table="QualifiedARef"
       >
          <fk-pointing-to-this-class column="QUALIFIEDAREF_PK"/>
          <fk-pointing-to-element-class column="A_ID_FK"/>
</collection-descriptor>

Phil

Phil Warrick wrote:
> Sylvain,
> 
> Something like this?
> 
> <class-descriptor
>       class="A"
>       table="A"
>    >
>       <field-descriptor id="1"
>          name="A_id"
>          column="A_ID_PK"
>          jdbc-type="INTEGER"
>          primarykey="true"
>          autoincrement="true"
>       />
>       <field-descriptor id="2"
>          name="name"
>          column="NAME"
>          jdbc-type="VARCHAR"
>       />
>       <reference-descriptor
>          name="qualifiedARef"
>          class-ref="QualifiedARef"
>       >
>          <foreignkey field-id-ref="4"/>
>       </reference-descriptor>
> </class-descriptor>
> 
> <class-descriptor
>       class="QualifiedARef"
>       table="QualifiedARef"
>    >
>       <field-descriptor id="1"
>          name="qualifiedId"
>          column="QUALIFIEDAREF_PK"
>          jdbc-type="INTEGER"
>          primarykey="true"
>          autoincrement="true"
>       />
>       <field-descriptor id="2"
>          name="A_id"
>          column="A_ID_FK"
>          jdbc-type="INTEGER"
>       />
>       <field-descriptor id="3"
>          name="relationInfo"
>          column="RELATION_INFO"
>          jdbc-type="VARCHAR"
>       />
>       <reference-descriptor
>          name="classARef"
>          class-ref="A"
>       >
>          <foreignkey field-id-ref="2"/>
>       </reference-descriptor>
> </class-descriptor>
> 
> Phil
> 
> [EMAIL PROTECTED] wrote:
> 
>> Phil,
>>
>> Ok but how do you do the self-reference?
>>
>> Sorry I don't understand.
>>
>> Sylvain
>>
>>
>> -----Message d'origine-----
>> De: Phil Warrick [mailto:[EMAIL PROTECTED]]
>> Date: lundi, 16. d�cembre 2002 16:43
>> �: OJB Users List
>> Objet: Re: OJB and recursive relationship
>>
>>
>> Sylvain,
>>
>> Only one A fk is required in the QualifiedARef table:
>>
>> QualifiedARef
>> -------------
>> int qualifiedARef_PK
>> String relationInfo
>> int A_id_FK
>>
>> Phil
>>
>>
>>  >
>> [EMAIL PROTECTED] wrote:
>>
>>> So, more in practise:
>>>
>>> Classes:
>>>
>>> Class A {                        Classe QualifiedARef {
>>> int A_id                        int qualifiedId
>>> String name                        A classARef
>>> QualifiedARef qualifiedARef            String relationInfo   
>>> ...                            int A_id
>>> }                            ....
>>>                             }
>>>
>>>
>>> Relationnal tables:
>>>
>>> A                        QualifiedARef
>>> -                        -------------
>>> int A_id_PK                    int qualifiedARef_PK
>>> String name                    int A_id_class_ref_FK
>>>                         String relationInfo
>>>                         int A_id_FK
>>>
>>>
>>> Am I on the right way?
>>> is there a probem in the QualifiedARef table because there are 2 FK 
>>> for A??
>>>
>>> Thank you
>>> Regards
>>> Sylvain
>>>
>>>
>>>
>>>
>>> -----Message d'origine-----
>>> De: Phil Warrick [mailto:[EMAIL PROTECTED]]
>>> Date: lundi, 16. d�cembre 2002 15:59
>>> �: OJB Users List
>>> Objet: Re: OJB and recursive relationship
>>>
>>>
>>> Hi Sylvain,
>>>
>>> Yes, then class A instead has a reference to a class QualifiedARef 
>>> (or a collection of these).  QualifiedARef holds the relation info 
>>> and a reference to the target A.  If bidirectionality is important, 
>>> it can hold a reference to both of the As in the relation.
>>>
>>> Phil
>>>
>>> [EMAIL PROTECTED] wrote:
>>>
>>>
>>>> Hi Phil,
>>>>
>>>> Thank you for your answer.
>>>> Is it also possible if you qualified this self reference (add 
>>>> information about relation)?
>>>>
>>>> For example if class A have a reference to another instance of class 
>>>> A and this reference has information like reference_name or 
>>>> something like that.
>>>>
>>>> Regards
>>>> Sylvain
>>>>
>>>> -----Message d'origine-----
>>>> De: Phil Warrick [mailto:[EMAIL PROTECTED]]
>>>> Date: lundi, 16. d�cembre 2002 15:14
>>>> �: OJB Users List
>>>> Objet: Re: OJB and recursive relationship
>>>>
>>>>
>>>> Hi Sylvain,
>>>>
>>>> OJB handles self references fine.  In other words class A can have a 
>>>> reference to another instance of class A or a collection of class 
>>>> As. You may need to make these proxies if the graph is very large 
>>>> and you need to control the hits to the db.
>>>>
>>>> Phil
>>>>
>>>> [EMAIL PROTECTED] wrote:
>>>>
>>>>
>>>>
>>>>> Hello,
>>>>>
>>>>> I have a situation with recursive relationship:
>>>>>
>>>>> I have a class Software that represents the softwares that could be 
>>>>> installed on my machine. Some of these softwares must have other 
>>>>> softwares installed before to be able to be installed.
>>>>> So, I have a recurvive relationship here.
>>>>>
>>>>> How do you implement this relationship with OJB?
>>>>>
>>>>> Thank you
>>>>> Sylvain
>>>>>
>>>>> -- 
>>>>> To unsubscribe, e-mail:   
>>>>> <mailto:[EMAIL PROTECTED]>
>>>>> For additional commands, e-mail: 
>>>>> <mailto:[EMAIL PROTECTED]>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> To unsubscribe, e-mail:   
>>>> <mailto:[EMAIL PROTECTED]>
>>>> For additional commands, e-mail: 
>>>> <mailto:[EMAIL PROTECTED]>
>>>>
>>>>
>>>> -- 
>>>> To unsubscribe, e-mail:   
>>>> <mailto:[EMAIL PROTECTED]>
>>>> For additional commands, e-mail: 
>>>> <mailto:[EMAIL PROTECTED]>
>>>
>>>
>>>
>>>
>>>
>>> -- 
>>> To unsubscribe, e-mail:   
>>> <mailto:[EMAIL PROTECTED]>
>>> For additional commands, e-mail: 
>>> <mailto:[EMAIL PROTECTED]>
>>>
>>>
>>> -- 
>>> To unsubscribe, e-mail:   
>>> <mailto:[EMAIL PROTECTED]>
>>> For additional commands, e-mail: 
>>> <mailto:[EMAIL PROTECTED]>
>>
>>
>>
>>
>>
>> -- 
>> To unsubscribe, e-mail:   
>> <mailto:[EMAIL PROTECTED]>
>> For additional commands, e-mail: 
>> <mailto:[EMAIL PROTECTED]>
>>
>>
>> -- 
>> To unsubscribe, e-mail:   
>> <mailto:[EMAIL PROTECTED]>
>> For additional commands, e-mail: 
>> <mailto:[EMAIL PROTECTED]>
> 
> 



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to