-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Assoziative Klasse und 2nd-Level-Cache
PostPosted: Fri Oct 02, 2009 5:37 am 
Newbie

Joined: Fri Oct 02, 2009 5:08 am
Posts: 2
Hallo zusammen,

ich habe folgendes Problem:
Es gibt 3 Klassen: Team, Mitglied und die assoziative Klasse TeamMitgliedschaft.
Jedes Mitglied ist in maximal einem Team, zwischen Mitglied und TeamMitgliedschaft besteht also eine one-to-one Beziehung.
Jedes Team kann mehrere Mitglieder haben, zwischen Team und TeamMitgliedschaft betseht ale eine many-to-one Beziehung.

Mein Mapping sieht so aus:
Mitglied:
Code:
<one-to-one name="teamMitgliedschaft" property-ref="mitglied" cascade="delete" />

Team
Code:
<set name="teamMitgliedschaften" table="TeamMitgliedschaft" inverse="true" cascade="all">
   <key column="team_id" not-null="true" foreign-key="fk_team" on-delete="cascade" />
   <one-to-many class="TeamMitgliedschaft" />
</set>

TeamMitgliedschaft
Code:
<many-to-one name="team" column="team_id" foreign-key="fk_team" class="Team" not-null="true"  />
<many-to-one name="mitglied" column="mitglied_id" foreign-key="fk_mitglied" class="Mitglied" not-null="true" />


Funktioniert auch alles soweit. Jetzt möchte ich aber für alle Objekte den 2nd-Level-Cache benutzen. Auch das funktionert problemlos bis auf eine Ausnahme: Das Laden der TeamMitgliedschaft eines Mitglieds führt zu folgender SQL-Abfrage:

Code:
select
   teammitgliedschaft.team_id,
   teammitgliedschaft.mitglied_id,
   ...weitere Attribute...
from
   teammitgliedschaft
where
   teammitgliedschaft.mitglied_id=?


Da mitglied_id nicht der primary key von TeamMitgliedschaft ist, kann hier der 2nd-Level Cache natürlich nicht verwendet werden.

Es ist aber doch bestimmt möglich, diese Struktur komplett über den 2nd-Level-Cache zu laden!?

Ist mein Mapping falsch? Müssen die Assoziationen anders gemappt werden?

Vielen Dank schon mal für Eure Mühen!

Grüße
Peter


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.