Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Databases / April 2008

Tip: Looking for answers? Try searching our database.

Hibernate M:M mapping plus extra data in intermediary table

Thread view: 
Spendius - 24 Apr 2008 14:08 GMT
Hello,

I'm asking a question already asked a few years ago:
http://groups.google.be/group/comp.lang.java.databases/browse_frm/thread/c3a1045
674b6b65f/c3aa99a30b22c8e6?hl=nl&lnk=gst&q=%22many-to-many%22&utoken=DT02DTsAAAA
YHYTsDrEdq7-NnfRgl-Nk4GfRPBFGhDGPHFrvVDkRvgz1eTbjLK36WL5svdAfvL03TRB4SbQHh5KfXKI
Cx3ka


When your middle table (that which relates your 2 tables
through a many-to-many relationship) contains more than
the A_ID and B_ID columns but also -for ex.- DATE columns
etc.- is there a way to deal with this extra info with some
more config in your .hbm.xml files or do you really need a
supplementary class to handle this data ?

When you have no more than the 2 ID columns to deal with,
the following mappings are enough:
<set name="events" table="PERSON_EVENT">
<key column="PERSON_ID"/>
<many-to-many column="EVENT_ID" class="Event"/>
</set>
in a file and
<set name="participants" table="PERSON_EVENT" inverse="true">
<key column="EVENT_ID"/>
<many-to-many column="PERSON_ID" class="Person"/>
</set>
in the other .hbm.xml file... And no specific class for the
PERSON_EVENT database table is required - but when this
table contains other columns, is there no way but to create
another class to play with this extra columns ?

In advance, thanks.
Regards,
Spendius
Axel Hallez - 25 Apr 2008 09:33 GMT
> When your middle table (that which relates your 2 tables
> through a many-to-many relationship) contains more than
[quoted text clipped - 18 lines]
> table contains other columns, is there no way but to create
> another class to play with this extra columns ?

If you don't wrap the extra attributes in a class, how would you be able
to manage them?
If a many-to-many relationship has extra attributes, this generally
means that the relationship entries are entities in their own right.

Now I guess that one could come up with some schema to avoid the
definition of an extra class, but I can't imagine that this would be
easier to deal with.

Kind regards,
Axel Hallez


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.