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]>
