Какой шаблон придерживается Hibernate?

В своей книге "Шаблоны архитектуры корпоративных приложений" Мартин Фаулер рассказывает о шаблонах персистентности, которые обычно встречаются при разработке программного обеспечения и особенно в отношении ORM.

Есть ли образец, которого Hibernate придерживается наиболее близко?

4 ответа

Hibernate использовать несколько шаблонов:

  • Ленивая загрузка (проксирование коллекций)
  • Единица работы (как часть объекта Session)
  • вероятно, карта личности или что-то более сложное
  • Метаданные картирования
  • Объект запроса для Criterion API
  • все объектные реляционные структурные паттерны

Hibernate не следует шаблону ActiveRecord. Шаблон, который Hibernate придерживается наиболее близко, является шаблоном Datamapper.

Если вы ищете простоту шаблонов проектирования, то вы можете рассмотреть Hibernate как модный API для реализации шаблона Active Record:

В программной инженерии активный шаблон записи - это шаблон проектирования, часто встречающийся в программном обеспечении, хранящем свои данные в реляционных базах данных. Мартин Фаулер назвал его в своей книге "Шаблоны архитектуры корпоративных приложений". Интерфейс для такого объекта будет включать такие функции, как Вставка, Обновление и Удаление, а также свойства, которые более или менее соответствуют непосредственно столбцам в базовой таблице базы данных.

Активная запись - это подход к доступу к данным в базе данных. Таблица базы данных или представление обернуты в класс; таким образом, экземпляр объекта привязан к одной строке таблицы. После создания объекта новая строка добавляется в таблицу при сохранении. Любой загруженный объект получает информацию из базы данных; когда объект обновляется, соответствующая строка в таблице также обновляется. Класс-оболочка реализует методы доступа или свойства для каждого столбца в таблице или представлении.

Hibernate - это, очевидно, доменная модель. Объекты в ORM являются моделью предметной области, поэтому вы не можете сделать ORM без нее.

Другие вопросы по тегам