Maga a megkülönböztető oszlop a különböző osztályok megkülönböztetésére szolgál, amikor az osztályhierarchiák lapos vagy függőleges leképezése van. A lapos és függőleges leképezés mögött az az ötlet, hogy minden osztály egyetlen sorba van leképezve az alaposztálytáblázatban. A diszkriminátor értéke az egyes sorok típusának meghatározására szolgál.
Hogyan találja meg a megkülönböztető oszlopot?
Az entitásdefiníció: @Entity(name="Port") @DiscriminatorColumn(name="type", discriminatorType=DiscrinatorType. STRING, long=10) @DiscrinatorValue(value="port") @Table(name)="vPorts") @XmlRootElement(name="port") public class PortEntity { …
Mi az a diszkriminátor a Java-ban?
Annotation Type DiscrinatorColumn
Meghatározza a megkülönböztető oszlopot a SINGLE_TABLE és a JOINED öröklődési leképezési stratégiákhoz. A stratégia és a megkülönböztető oszlop csak olyan entitásosztály-hierarchia vagy alhierarchia gyökerében van megadva, amelyben más öröklési stratégiát alkalmaznak.
Mire használható a diszkriminátor oszlop a hibernált állapotban?
Ha ezt a stratégiát a JPA-val szeretné használni, az adatbázistáblának rendelkeznie kell egy megkülönböztető oszloppal. Az ebben az oszlopban található érték azt az entitásosztályt jelöli, amelyhez az egyes rekordokat hozzá kell rendelni. Alapértelmezés szerint a Hibernate ugyanezt a megközelítést használja.
Mire jó a @DiscriminatorColumn?
A diszkriminátor azgyakran használják a SINGLE_TABLE öröklődésben, mert szüksége van egy oszlopra a rekord típusának azonosításához. Példa: Van egy diák osztálya és 2 alosztálya: GoodStudent és BadStudent.