Pats diskriminatoriaus stulpelis naudojamas skirtingoms klasėms atskirti, kai klasių hierarchijos yra plokščios arba vertikalios. Plokščiojo ir vertikalaus atvaizdavimo idėja yra ta, kad kiekviena klasė yra susieta į vieną bazinės klasės lentelės eilutę. Diskriminatoriaus reikšmė naudojama kiekvienos eilutės tipui apibrėžti.
Kaip rasti diskriminatoriaus stulpelį?
Subjekto apibrėžimas: @Entity(name="Port") @DiscriminatorColumn(name="tipas", discriminatorType=DiscrinatorType. STRING, ilgis=10) @DiscriminatorValue(value="port") @Table(name)="vPorts") @XmlRootElement(name="port") public class PortEntity { …
Kas yra „Java“diskriminatorius?
Anotacijos tipas DiscrinatorColumn
Nurodo diskriminatoriaus stulpelį, skirtą SINGLE_TABLE ir JOINED paveldėjimo atvaizdavimo strategijoms. Strategija ir diskriminatoriaus stulpelis nurodyti tik objektų klasės hierarchijos arba subhierarchijos šaknyje, kurioje taikoma kitokia paveldėjimo strategija.
Kam naudingas diskriminatoriaus stulpelis Hibernate režime?
Jei norite naudoti šią strategiją su JPA, duomenų bazės lentelėje turi būti diskriminatoriaus stulpelis. Reikšmė šiame stulpelyje nurodo objekto klasę, su kuria turi būti susietas kiekvienas įrašas. Pagal numatytuosius nustatymus Hibernate taiko tą patį metodą.
Kam naudinga @DiscriminatorColumn?
Diskriminatorius yradažniausiai naudojamas SINGLE_TABLE paveldimuose, nes įrašo tipui nustatyti reikalingas stulpelis. Pavyzdys: turite klasės Mokinį ir 2 poklasius: GoodStudent ir BadStudent.