Mapování n ku n

Použití volby Mapování n ku n definuje vícehodnotové přidružení s multiplicitou n ku n. Mapování n ku n má dvě strany: Vlastnící stranu a nevlastnící stranu. Na vlastnící straně musíte určit tabulku spojení. U obousměrných mapování mohou být vlastnící stranou obě strany.

  1. V pohledu Struktura JPA vyberte mapované pole.

  2. Klepněte pravým tlačítkem myši na pole a vyberte volbu Mapovat jako > m ku n. Pohled Podrobnosti JPA (pro atributy) zobrazí vlastnosti pro vybrané pole.

  3. Použijte tuto tabulku a vyplňte pole všeobecných informací v pohledu Podrobnosti JPA.

    Vlastnost Popis Výchozí
    Hypertextový odkaz Mapovací entita Definuje toto mapování jako Mapování n ku n.

    Toto pole odpovídá anotaci @ManyToMany.

    N ku n
    Cílová entita Entita, na kterou je tento atribut mapován. null

    Cílovou entitu nemusíte určit explicitně, protože může být odvozena od typu odkazovaného objektu.

    Načtení Definuje, jak jsou data načtena z databáze. Podrobnosti najdete v části "Typ načtení".
    • Rychle

    • Pomalu

    Pomalu
    Mapováno pomocí Pole databáze, které vlastní vztah.
    Řadit podle Určete výchozí pořadí objektů vrácených z dotazu. Podrobnosti najdete v části "Řadit podle".
    • Žádné řazení

    • Primární klíč

    • Vlastní

    Žádné řazení

  4. Použijte tuto tabulku a vyplňte pole v oblasti informací o tabulce spojení v pohledu Podrobnosti JPA.

    Vlastnost Popis Výchozí
    Název Název tabulky spojení, která obsahuje sloupec cizích klíčů. Na vlastnící straně musíte určit tabulku spojení.

    Ve výchozím nastavení se předpokládá, že názvem jsou primární tabulky přidružené k entitám složené pomocí podtržítka.

    Sloupce spojení Vyberte Potlačit výchozí a poté Přidejte, Upravte nebo Odeberte sloupce spojení. Ve výchozím nastavení se předpokládá, že názvem jsou primární tabulky přidružené k entitám složené pomocí podtržítka.
    Sloupce pro inverzní spojení Vyberte Potlačit výchozí a poté Přidejte, Upravte nebo Odeberte sloupce spojení. Ve výchozím nastavení se předpokládá, že mapování má jediné spojení.

  5. Chcete-li přidat nový sloupec spojení nebo sloupec pro inverzní spojení, klepněte na volbu Přidat.

    Chcete-li upravit stávající sloupec spojení nebo sloupec pro inverzní spojení, vyberte pole a klepněte na volbu Upravit.

Platforma Eclipse přidá do pole následující anotace:

@JoinTable(joinColumns=@JoinColumn(name="<SLOUPEC_SPOJENÍ>"),
    name = "<NÁZEV_TABULKY_SPOJENÍ>")
@ManyToMany(cascade=CascadeType.<TYP_KASKÁDY>, fetch=FetchType.<TYP_NAČTENÍ>,
    targetEntity=<CÍLOVÁ_ENTITA>, mappedBy = "<MAPOVÁNO_POMOCÍ>")
@OrderBy("<ŘADIT_PODLE>")

 

Související úloha

Mapování entity

 

Související odkazy

Pohled Struktura JPA
Pohled Podrobnosti JPA (pro atributy)

 

Související koncepce

Základní informace o mapování OR
Základní informace o rozhraní API EJB 3.0 Java Persistence