Читаем Изучаем Java EE 7 полностью

Примечание

В предыдущих версиях Java EE постоянная компонентная модель называлась Entity Bean (Компонент-сущность EJB) или Entity Bean CMP (Container-Managed Persistence) (Сохраняемость компонентов-сущностей EJB, управляемая контейнером) и была связана с Enterprise JavaBeans. Эта модель постоянства использовалась, начиная с J2EE 1.3 и до появления версии 1.4, однако была тяжеловесной и в конце концов оказалась заменена JPA с выходом версии Java EE 5. В JPA вместо словосочетания «компонент-сущность EJB» используется термин «сущность».

Объектно-реляционное отображение

Принцип объектно-реляционного отображения заключается в возложении на внешние инструменты или фреймворки (в нашем случае JPA) задачи по обеспечению соответствия между объектами и таблицами. Тогда мир классов, объектов и атрибутов можно будет отобразить в реляционные базы данных, состоящие из таблиц, которые содержат строки и столбцы. Отображение обеспечивает объектно-ориентированное представление для разработчиков, которые смогут прозрачно использовать сущности вместо таблиц. Как именно JPA отображает объекты в базе данных? Ответ: с помощью метаданных.

С каждой сущностью ассоциированы метаданные, которые описывают отображение. Они позволяют поставщику постоянства распознать сущность и интерпретировать отображение. Метаданные могут быть записаны в двух разных форматах.

• Аннотации — код сущности непосредственно снабжается всевозможными аннотациями, описанными в пакете javax.persistence.

• XML-дескрипторы — вместо аннотаций (или в дополнение к ним) вы можете использовать XML-дескрипторы. Отображение определяется во внешнем XML-файле, который будет развернут вместе с сущностями. Это может оказаться очень полезным, если, к примеру, конфигурация базы данных будет изменяться в зависимости от среды.

В случае с сущностью Book (показанной в листинге 4.1) используются аннотации JPA, чтобы поставщик постоянства смог синхронизировать данные между атрибутами сущности Book и столбцами таблицы BOOK. Следовательно, если атрибут isbn окажется модифицирован приложением, то будет синхронизирован столбец ISBN (при управлении сущностью, задании контекста транзакций и т. д.).

Как показано на рис. 4.1, сущность Book отображается в таблице BOOK, а каждому столбцу присваивается имя в соответствии с именем атрибута класса (например, атрибут isbn, имеющий тип String, отображается в столбец, который имеет имя ISBN и тип VARCHAR). Эти правила отображения по умолчанию являются важной частью принципа, известного как конфигурация в порядке исключения.


Рис. 4.1. Синхронизация данных между сущностью и таблицей


В версии Java EE 5 была представлена идея конфигурации в порядке исключения (иногда называемая программированием в порядке исключения или соглашением прежде конфигурации), которая по-прежнему активно используется сегодня в Java EE 7. Это означает, что, если не указано иное, контейнер или поставщик должен применять правила по умолчанию. Другими словами, необходимость обеспечения конфигурации является исключением из правила. Это позволяет вам написать минимальное количество кода для того, чтобы ваше приложение работало, положившись на правила, применяемые контейнером и поставщиком по умолчанию. Если вы не хотите, чтобы поставщик применял правила по умолчанию, то можете настроить отображение в соответствии со своими нуждами. Иначе говоря, необходимость обеспечения конфигурации является исключением из правила.

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Нил Форд , Билл де Ора , Майкл Хайгард

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT