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>