My 2 bits worth.. I find the single table model works better than modeling class inheritance through multiple tables. The reason being you have less referential integrity constraints to worry about when using a single table
regards Malcolm On 11/29/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 >> >
