>From a design standpoint, I wonder which would be the best solution,
having a join table or simply letting FKs add up as columns on the D
table. Join tables sounds more elegant, a single table sounds way
easier to implement/maintain, hm.

On Jun 4, 11:12 am, Jason Sznol <jasonsz...@gmail.com> wrote:
> I don't want to start a new topic regarding this but I was able to fix
> my problem. By putting a HasAndBelongsToMany Attribute on my three
> entities owning the last entity, I was able to force ActiveRecord and
> hbm2ddl to use a join table so the schema looks like this
> (ParentEntityTable x ParentChildEntityJoinTable x ChildEntityTable).
> This solved my issue completely; however, I was reading some use cases
> where if you put a Unique attribute on the many-to-many relationship
> you force it to become a one-to-many relationship with a join table. I
> do not see the unique attribute on the HasAndBelongsToMany attribute
> and I cannot think of any other way to get ActiveRecord to create this
> schema. Any ideas if this will be implemented or how to do it?
>
> On May 27, 4:22 pm, Markus Zywitza <markus.zywi...@gmail.com> wrote:
>
> > It might work with an explicit Any-Property in D. You must never
> > forget that even unidirectional relations are relations. And on the
> > database, one-to-many relations are implemented with FKs on the
> > one-side, regardless of whether AR hides that from the model or not.
>
> > -Markus
>
> > 2009/5/27 Hexedit <jasonsz...@gmail.com>:
>
> > > I apologize I worded my first message improperly. D should have no
> > > knowledge
> > > of the Entities A, B or C. In my object there is no Property for
> > > linking back to
> > > any one of the other entities. So it is a one sidedHasManywith no
> > > related BelongsTo.
> > > I suppose an Any tag would work well in this situation but I'm not
> > > sure how to configure
> > > it or if it even works with aHasManyon the other side of the
> > > relation. Assuming that
> > > my domains A, B, and C never have conflicting integer primary keys,
> > > this shouldn't be
> > > an issue correct?
>
> > > On May 27, 10:56 am, Markus Zywitza <markus.zywi...@gmail.com> wrote:
> > >> You have A, B and C pointing to D: Ergo, D has an implicit many-to-one
> > >> to A, B and C, which is hidden in AR due to the unidirectional
> > >> relation. Now you want that D only has one many-to-one connection,
> > >> which will direct to A, B or C. This seems impossible: How should AR
> > >> know from an integer to which of the classes A, B or C it belongs? If
> > >> you use Identity, the same key might be used in A, B and C, leaving AR
> > >> clueless of what to load.
>
> > >> You need three FK columns in D if A, B and C are not related. If they
> > >> belong to the same base class, you can define theHasManythere, but
> > >> with unrelated classes your scenario is impossible.
>
> > >> -Markus
>
> > >> 2009/5/27 Hexedit <jasonsz...@gmail.com>:
>
> > >> > I have three unique entity classes that each have a collection of a
> > >> > fourth entity via theHasManyattribute. The mappings should be one-to-
> > >> > many unidirectional relationships from entities A, B, and C to entity
> > >> > D. EachHasManyattribute references the same table and the same
> > >> > column for the foreign key. Since the referenced column is an integer
> > >> > it should not matter that it could be pointing to objects from 3
> > >> > tables. The problem is that the generation tool non-deterministically
> > >> > picks one of the first three entities and creates a foreign key
> > >> > relationship from the reference column in the 4th entity table to the
> > >> > entity that owns that relation. Is there any way for me to override
> > >> > this behavior and make it so that the Many side of theHasMany
> > >> > relationship doesn't foreign key back to the first table?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to castle-project-users@googlegroups.com
To unsubscribe from this group, send email to 
castle-project-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to