/ / Výhody a nevýhody obojsmerných vzťahov JPA - prezimovať, jpa, jpa-2.0

Výhody a nevýhody obojsmerných vzťahov JPA - prezimovať, jpa, jpa-2.0

Som v situácii, keď potrebujem zmeniť moje jednosmerné vzťahy JPA tak, aby sa stali obojsmernými (AN Account subjekt má zoznam Advertisements) tak, aby a Advertisement Môžem určiť, či patrí alebo nie Account (z bezpečnostných dôvodov).

Zdá sa, že prierezová záležitosť uložila rozhodnutie o mojom návrhu a nie som si istý, či je to dobré.

Tiež neviem, čo nevýhody použitia obojsmerných vzťahov sú.

Môže niekto, prosím, komentovať a poradiť?

odpovede:

1 pre odpoveď č. 1

Pokúsim sa odpovedať na otázku príkladom:

@Entity
public clas Account {

@OneToMany(mappedBy = "account") // is mappedBy really necessary ?
private List<Advertisements> advertisements;
}

Jednosmerné nevýhody:
Nedostatok mappedBy atribút vedie k jednosmernému jednosmernémua vytvára dodatočnú spojovaciu tabuľku pozostávajúcu z cudzích kľúčov. Toto je často považované za úskalie JPA a má negatívny vplyv na výkon na úrovni databázy (máte tri tabuľky namiesto dvoch).

@Entity
public clas Advertisements {

@ManyToOne
@JoinColumn(name="ACCOUNT_ID")
private Account account; // is Account really necessary ?
}

Obojsmerné nevýhody:
Môžete navigovať z Advertisements na Account tak z hľadiska JPA máte prístup k jednosmernej asociácii "SELECT adv.account FROM Advertisements adv", Predpoklad, že nechcete, aby sa dalo povedať, že to môže mať negatívny vplyv na bezpečnosť na úrovni SPZ.