Рубрики
Без рубрики

Высокопроизводительная сохраняемость Java – Глава 12 – Наследование

Автор оригинала: Vlad Mihalcea.

Каждая новая глава моей книги выходит сразу после ее завершения, поэтому читателю не нужно ждать, пока вся часть будет закончена, чтобы получить доступ к новому материалу.

В этой главе объясняется наследование JPA с точки зрения производительности доступа к данным.

12. Inheritance
12.1 Single table 
12.2 Join table 
12.3 Table-per-class 
12.4 Mapped superclass 

Наследование, несомненно, является наиболее очевидным несоответствием импеданса между объектно-ориентированной моделью предметной области и схемой реляционной базы данных. В этой главе объясняются преимущества наследования сущностей и присущие ему компромиссы.

Как правило, наследование следует использовать с осторожностью.

Чаще всего, когда требуются полиморфные запросы и ассоциации, выбор делается между одной таблицей и объединенной таблицей, каждая из которых имеет свои плюсы и минусы. Таблица для каждого класса может генерировать слишком сложные операторы, и если полиморфизм сущностей не требуется, @MappedSuperclass в любом случае может быть лучшей альтернативой.