Является ли Hibernate фреймворком? или библиотека?

Я студент, изучающий Hibernate ORM. Извините за плохой английский.

Официальная документация Hibernate ORM представляет его как основу. проверьте эту документацию: «https://hibernate.org/orm/»

Однако по следующей ссылке утверждается, что Hibernate не является платформой. проверьте эту документацию: «https://docs.jboss.org/hibernate/orm/6.5/introduction/html_single/Hibernate_Introduction.html#persistence-contexts»

Я в замешательстве, что правильно.

Я думал, что существует инверсия управления, чтобы решить проблему несогласования импедансов.

Чтобы сохранить объект в таблице базы данных с помощью API JDBC, его необходимо преобразовать в структуру данных.

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

Я понимаю, что технология ORM возникла для решения проблемы несогласования импедансов. И я думаю, что управляющий код решения проблемы несоответствия импедансов перенесен на сторону ORM.

Итак, Независимо от того, что написано в документе. Я думаю, что Hibernate — это фреймворк. Пожалуйста, оставьте отзыв.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если мы возьмем определение Framework из Википедии — да, Hibernate — это фреймворк, в котором присутствуют все четыре ключевые функции — IoC, поведение по умолчанию, расширяемость и неизменяемый код фреймворка.

Полагаю, вас озадачила эта часть документации:

Hibernate — это независимая от архитектуры библиотека, а не фреймворк. поэтому удобно интегрируется с широким спектром Java-фреймворков. и контейнеры.

Во-первых, прямо перед этим пунктом в документации есть оговорка, что это не факт, а всего лишь мнение. Я думаю, они хотели сказать, что Hibernate не является архитектурным фреймворком и отвечает только за уровень персистентности.

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

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