Mi az a megkülönböztető oszlop?

Pontszám: 4,5/5 ( 34 szavazat )

Maga a megkülönböztető oszlop a különböző osztályok megkülönböztetésére szolgál, ha az osztályhierarchiák lapos vagy függőleges leképezésre kerülnek . A lapos és függőleges leképezés mögött az az elképzelés áll, 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ás meghatározása: @Entity(name="Port") @DiscriminatorColumn(name="type", discriminatorType=DiscriminatorType. STRING, long=10) @DiscriminatorValue(value="port") @Table(name="vPorts") @XmlRootElement(name="port") public class PortEntity { ...

Mi az a diszkriminátor a Java-ban?

Annotation Type DiscrinatorColumn Megadja 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 egy 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 lévő érték azonosítja azt az entitásosztályt, 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 Diskriminátort általában SINGLE_TABLE öröklődésben használják, 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.

Hibernálási tipp: SINGLE_TABLE stratégia megkülönböztető oszlop nélkül

39 kapcsolódó kérdés található