Witam
Moje pytanie jak opisać w hibernate podaną poniżej asocjacje many-to-many
Mam cztery przykładowe tabele:
Osoba
Kontakt
Firma
oraz wspólna tabela łącząca te trzy powyższe tabele typKontaktu
Powiązania miedzy tymi tabelami są następujące:
Osoba łączy się ze wspólna tabelą typKontaktu który łączy się z konkretnymi kontaktami dla tej osoby
Podobne łączenie mamy z tabelą Firma:
Firma łączy się ze wspólna tabelą typKontaktu który łączy się z konkretnymi kontaktami dla tej firmy
Tabela typKontaktu zawiera 4 istotne pola:
identyfikator - klucz główny
identyfikator_osoby lub firmy - klucz obcy
identyfikator_kontaktu - klucz obcy
typkontaktu - flaga określająca czy to tyczy się osoby czy firmy
Moje pytanie jak wykonać plik odwzorowując który zaczyta dane do konkretnego obiektu np "OSOBA"
class Osoba
{
private String id=null;
private String imie=null;
private String nazwisko=null;
private Set kontakty=null;
// getery settery + funkcja addKontakt
//......
}
Chciałbym zaznaczyć że zależy mi by obiekt Osoba zawierał tylko dane z tabeli kontakt bez jakiś dodatkowych pośredniczących obiektywów odwadniających tabele typKontaktu
Czy jest to w ogóle możliwe takie wykonanie ?
W trakcie goglowanie doszukałem się wielu przykładów prostych odwzorowań typu 'many-to-many'
ale charakteryzowały się one tylko tym ze posiadały tylko klucze obce nie można tam było uwzględnić dodatkowych pól tej tabeli pośredniczącej
Na sam koniec podam jeszcze moj dotychczasowy plik odwzorowań który udało mi się sklecić
<hibernate-mapping>
<class name="db.bean.osoba.Osoba" table="Osoba" schema="common">
<id name="id" column="ID" type="long">
<generator class="native"/>
</id>
<property name="imie" column="IMIE" type="string" not-null="true" length="30"/>
<property name="nazwisko" column="NAZWISKO" type="string" not-null="true" len
/* co wlasnie tu wpisac by odworowac ta zależność*/
<set name="kontakty" ..... >
.....
</set>
</class>
</hibernate-mapping>