Több a többhöz leképezés

A Több a többhöz leképezés használatával határozhat meg többértékű társítást több a többhöz számossággal. Egy több a többhöz leképezésnek két oldala van: a birtokló oldal és a nem birtokló oldal. Meg kell határoznia az összefésülési táblát a birtokló oldalon. A kétirányú leképezések esetén bármelyik oldal lehet a birtokló oldal.

  1. A JPA szerkezet nézetben válassza ki a leképezni kívánt mezőt.

  2. Kattintson a mezőre, majd válassza az előugró menü Leképezés a következőként > Több a többhöz menüpontját. A JPA részletek nézet (attribútumokhoz) megjeleníti a kijelölt mező tulajdonságait.

  3. A táblázat segítségével töltse ki a JPA részletek nézet Általános információk mezőit.

    Tulajdonság Leírás Alapértelmezés
    Leképező entitás hiperhivatkozás A leképezést Több a többhöz leképezésként határozza meg.

    Ez a mező a @ManyToMany annotációnak felel meg.

    Több a többhöz
    Cél entitás Az entitás, amelyre ez az attribútum le van képezve. null

    Nem kell kifejezetten meghatároznia a cél entitást, mivel az kikövetkeztethető a hivatkozott objektum típusából.

    Lehívás Meghatározza azt, hogy az adatok hogyan legyenek betöltve az adatbázisból. Részletekért tekintse meg a "Lehívás típusa" részt.
    • Szorgalmas

    • Lusta

    Lusta
    Leképezte A viszonyt birtokló adatbázis mező.
    Rendezés Adja meg a lekérdezésekből visszatérített objektumok alapértelmezett sorrendjét. Részletekért tekintse meg a "Sorba rendezte" részt.
    • Nincs rendezés

    • Elsődleges kulcs szerint

    • Egyéni

    Nincs rendezés

  4. A táblázat segítségével töltse ki az Összefésülési tábla információk terület mezőit a JPA részletek nézetben.

    Tulajdonság Leírás Alapértelmezés
    Név Az idegen kulcs oszlopot tartalmazó összefésülési tábla neve. Meg kell határoznia az összefésülési táblát a birtokló oldalon.

    Alapértelmezésben a rendszer azt feltételezi, hogy a név az entitásokhoz tartozó elsődleges táblák nevének aláhúzással történő összevonásával keletkezik.

    Összefésülési oszlopok Válassza az Alapértelmezés újradefiniálása lehetőséget, ezután a Hozzáadás, Szerkesztés és Eltávolítás műveletekkel elvégezheti a kívánt műveletet az összefésülési oszlopokon. Alapértelmezésben a rendszer azt feltételezi, hogy a név az entitásokhoz tartozó elsődleges táblák nevének aláhúzással történő összevonásával keletkezik.
    Inverz összefésülési oszlopok Válassza az Alapértelmezés újradefiniálása lehetőséget, ezután a Hozzáadás, Szerkesztés és Eltávolítás műveletekkel elvégezheti a kívánt műveletet az összefésülési oszlopokon. Alapértelmezésben a rendszer azt feltételezi, hogy a leképezés egyetlen összefésüléssel rendelkezik.

  5. Új Összefésülési vagy Inverz összefésülési oszlop hozzáadásához kattintson a Hozzáadás elemre.

    Meglévő Összefésülési vagy Inverz összefésülési oszlop szerkesztéséhez válassza ki a mezőt és kattintson a Szerkesztés elemre.

Az Eclipse a következő annotációkat adja a mezőhöz:

@JoinTable(joinColumns=@JoinColumn(name="<ÖSSZEFÉSÜLÉSI_OSZLOP>"),
    name = "<ÖSSZEFÉSÜLÉSI_TÁBLA_NEVE>")
@ManyToMany(cascade=CascadeType.<KASZKÁD_TÍPUS>, fetch=FetchType.<LEHÍVÁS_TÍPUSA>,
    targetEntity=<CÉL_ENTITÁS>, mappedBy = "<LEKÉPEZTE>")
@OrderBy("<SORBA_RENDEZTE>")

 

Kapcsolódó feladat

Egyed leképezése

 

Kapcsolódó hivatkozások

JPA szerkezet nézet
JPA részletek nézet (attribútumokhoz)

 

Kapcsolódó fogalom

OR leképezések bemutatása
Az EJB 3.0 Java Persistence API bemutatása