Сам столбец дискриминатора используется для различения разных классов, когда иерархия классов отображается плоской или вертикальной. Идея плоского и вертикального отображения заключается в том, что каждый класс отображается в одну строку в таблице базовых классов. Значение дискриминатора используется для определения типа каждой строки.
Как найти столбец дискриминатора?
Определение объекта: @Entity(name="Port") @DiscriminatorColumn(name="type", compilerType=DiscriminatorType. STRING, length=10) @DiscriminatorValue(value="port") @Table(name="vPorts") @XmlRootElement(name="port") открытый класс PortEntity { …
Что такое дискриминатор в Java?
Тип аннотации DiscriminatorColumn
Указывает столбец дискриминатора для стратегий отображения SINGLE_TABLE и JOINED Inheritance. Стратегия и столбец дискриминатора указываются только в корне иерархии класса сущностей или подиерархии, в которой применяется другая стратегия наследования.
Какая польза от столбца дискриминатора в Hibernate?
Если вы хотите использовать эту стратегию с JPA, ваша таблица базы данных должна иметь столбец дискриминатора. Значение в этом столбце идентифицирует класс объекта, которому должна быть сопоставлена каждая запись. По умолчанию Hibernate использует тот же подход.
Какая польза от @DiscriminatorColumn?
Дискриминаторобычно используется в наследовании SINGLE_TABLE, потому что вам нужен столбец для определения типа записи. Пример: у вас есть класс Student и 2 подкласса: GoodStudent и BadStudent.
