Автор оригинала: Vlad Mihalcea.
Теперь, когда опубликована первая часть моей книги, пришло время сосредоточиться на второй части, которая охватывает как JPA, так и Hibernate. С этого момента каждая новая глава будет выходить сразу после ее завершения, поэтому читателю не нужно ждать, пока вся часть будет закончена, чтобы получить доступ к новым главам.
Эта глава призвана напомнить читателю, почему Hibernate занимает свое место в высокопроизводительном доступе к данным, и оглавление выглядит следующим образом:
8. Why JPA and Hibernate matter 8.1 The impedance mismatch 8.2 JPA vs Hibernate 8.3 Schema ownership 8.4 Write-based optimizations 8.5 Read-based optimizations 8.6 Wrap-up
В этой главе вы узнаете, что несоответствие импеданса объектных отношений неизбежно при построении корпоративной системы поверх языка ООП. JPA может сократить этот разрыв, но только при правильном использовании.
Вы также узнаете, что существуют две схемы, которые должны постоянно синхронизироваться: иерархия сущностей модели домена и схема базы данных. Если бизнес-логика управляет развитием приложения, система баз данных владеет как данными, так и самой схемой, и модель домена должна адаптироваться к этой реляционной модели.
Еще одна интересная тема-страх перед переносимостью, которая может привести к отказу от высокопроизводительных функций, связанных как с базовой системой баз данных, так и с системой доступа к данным. Как уже объяснялось, переносимость не подразумевает сокращения доступа только к общим функциям. Переносимости можно добиться и с помощью специализации функций.
Режим гибернации отлично подходит для записи данных. Он поставляется с транснациональным кэшем для записи, который может задержать раннее получение блокировок при изменении инструкций. Он может обеспечить прозрачное пакетирование и прочную основу для реализации механизмов управления параллелизмом на уровне приложений.
При чтении данных разработчик приложения должен учитывать назначение извлекаемых данных. Объекты отлично подходят для синхронизации изменений, в то время как проекции лучше подходят для представлений только для чтения.