Встречается на собеседованиях • сегодня
Какие знаешь стратегии наследования в Hibernate
Hibernate поддерживает несколько стратегий наследования, каждая из которых имеет свои особенности:
- SINGLE_TABLE (по умолчанию) – все сущности хранятся в одной таблице с дискриминатором (столбец
DTYPE).java@Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "type")
-
JOINED – для каждого класса создается отдельная таблица, а общие поля выносятся в родительскую.
java@Inheritance(strategy = InheritanceType.JOINED) -
TABLE_PER_CLASS – для каждого класса создается отдельная таблица, включая все поля родителя. Может вызывать проблемы с полиморфными запросами.
java@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
Плюсы SINGLE_TABLE:
- Простота и производительность (нет JOIN).
Минусы:
- NULL-значения для неиспользуемых полей.
JOINED – нормализованная схема, но требует JOIN-ов.
TABLE_PER_CLASS – избегает JOIN, но дублирует поля и усложняет запросы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы