I tried this solution, and actually i find it very cool !
But one detail still bother me :
Is there a way i can  specify that a property of a subclass is mandatory ?


Michael Gentry a écrit :
This page might help:

http://cwiki.apache.org/confluence/display/CAYDOC12/Modeling+Inheritance

Also, look at the ObjEntity section in Cayenne Modeler.  Specifically
the Inheritance and Table/View pulldowns.  Also, the Qualifier field,
which is how you specify the discriminator so Cayenne can determine
which Java class it represents.  (The above web page shows an example
of such a qualifier.)

/dev/mrg


On 11/28/06, Landry Soules <[EMAIL PROTECTED]> wrote:
Thanks for your answer, Michael.
Actually i thought of having one table for Vip, one for Customer, and
none for Person.
Because Vip and Customer share some properties (first name, last name etc).
Having 2 tables seems cleaner to me, but if your solution is well
supported by Cayenne, why not ?
Would you please have a small code example to help me understand how to
implement it ?

Thanks

Landry Soules

Michael Gentry a écrit :
> Are you wanting multiple tables or a single table?  Cayenne will
> currently do a single table mapped to multiple Java classes pretty
> well.  You have to have a discriminator column (an int or a char, etc)
> which Cayenne can use to detect which Java class to create.  Such as 1
> = Customer, 2 = VIP, etc.
>
> /dev/mrg
>
>
> On 11/28/06, Landry Soules <[EMAIL PROTECTED]> wrote:
>> Hello,
>>
>> I'm a new user of Cayenne, and am facing a design problem. Here it is :
>> I would like to implement the following :
>> - a Person abstract class (with first name, last name and so on
>> properties), extended by Customer and Vip classes.
>> In my mind, Person wouldn't be persistent, whereas Customer and Vip
>> would, meaning having only customer and vip tables.
>> Does this fit into the FAQ's CompositeVerticalInheritence, or does exist >> a simpler alternative, since i must admit i didn't understand how to use
>> it ?
>>
>> Thanks
>>
>> Landry Soules
>>
>




Reply via email to