db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Warrick <warr...@bmed.mcgill.ca>
Subject Re: [PROPOSAL] collection inheritance
Date Tue, 18 Feb 2003 19:02:14 GMT
Leandro,

While not being a hard-core ojb developer, I would pitch in here and say 
"yes please"!  If this could eventually be extended to all descriptors 
it would reduce my repository size by about a factor of five and of 
course make maintenance much less error prone...

Phil

Leandro Rodrigo Saad Cruz wrote:
> Hi all, I'd like to propose ( actually commit my changes to
> src/java/org/apache/ojb/broker/metadata/RepositoryXmlHandler.java )
> a new feature to RepositoryXmlHandler in order to make mapping objects
> to the database simpler. What I have working today makes all collection
> descriptors (CLDs) available to all extent classes of a class that is
> not an interface !
> 
> Example. Consider this class hierarchy :
> 
> public abstract class BaseFoo
> {
> 	private List myCollection;
> }
> 
> public class FooImpl
> 	extends BaseFoo
> {
> 
> }
> 
> With my proposal this should map to ->
> 
> <class-descriptor class="BaseFoo">
>     <extent-class class-ref="FooImpl"/>
>     ...
>     <collection-descriptor name="myCollection"
>                            element-class-ref=""
>                            auto-retrieve="true"
>                            auto-update="false"
>                            auto-delete="false"
>                            indirection-table="SOME_TABLE"
>                            >
>          <fk-pointing-to-this-class column="FOO_ID"/>
>          <fk-pointing-to-element-class column="SOME_CLASS_ID"/>
>    </collection-descriptor>
> </class-descriptor>
> 
> <class-descriptor class="FooImpl">
> 
> ...  <<-- CLDs already defined :-)
> 
> 
> </class-descriptor>
> 
> This is working only with CLDS, not reference descriptors or any other
> type of descriptor.
> 
> What do you think ?
> 
> In my app, I have about 15 classes that benefit from collection
> inheritance.
> 
> 



Mime
View raw message