Yeah, that was my first thought. Scary when you and I think alike.
Conceptually it's clear, and clean, but then you have this set of sparsely
populated foreign keys. After all only one of them is ever going to have a
value in it.    That idea just irks me, it seems wasteful. But really in
these days of terabyte drives should I even let that thought enter my mind.
 I think having grown up in a world where 8k of memory was all you had,
there's always a feeling of hating to waste bytes..  But that was 30+ years
ago,  gots to live in the present. :-)


On Wed, Apr 13, 2011 at 8:39 AM, Michael Gentry <[email protected]>wrote:

> In your Note table, you can have several foreign keys: thinkTopicFK,
> projectFK, categoryFK, assetFK.  Then map each FK appropriately, so
> your Note class ends up with a getThinkTopic(), getProject(),
> getCategory(), and getAsset() .  On the other side, you'll have
> getNotes() (in your ThinkTopic class, for example).  Of course, on the
> Note side, most of those will return empty lists, but I'm assuming
> you'll be drilling down from the other side?  If you care about going
> from Note back the other way, you may want a discriminator column or
> something to identify the type of note and use inheritance.
>
> mrg
>
>
> On Tue, Apr 12, 2011 at 3:43 PM, Tony Giaccone <[email protected]>
> wrote:
> > This is more of a generic question, though I'm interested in how it might
> be
> > implemented in Cayenne as well.
> >
> >
> > I have a number of entities, Think Topic, Project, Category, Asset.  On
> each
> > one I need to model a to many relationship to Notes, Where a Note is an
> > object with a subject and a date created and content.
> >
> > I"m not sure what the best strategy is to map each of these different
> > entities. I really don't want to create 4 note tables, So that there's a
> > Topic Note table, and a Project  Note table and  well you get the idea.
> >
> > I could put a discriminator on the table, so that each entry has it's own
> > "type" that would solve part of the problem, but they I have to create
> the
> > foreign keys relationship.
> >
> > So I'm just looking for some advice. Have you dealt with a similar
> > situation, and how did you model in general this solution and in Cayenne
> in
> > particular.
> >
> > Thanks for the help
> >
> >
> > Tony Giaccone
> >
>

Reply via email to