Hibernate 是一个框架吗?还是图书馆?

问题描述 投票:0回答:1

我是一名学习 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”

我很困惑哪个是正确的。

我认为存在控制反转来解决阻抗失配问题。

要使用 JDBC API 将对象保存到数据库表中,需要将其转换为数据结构。

但是,对象和数据库数据结构的视角是不同的。我将其理解为阻抗失配问题。为了解决这个问题,开发者需要编写大量的控制代码,维护起来很困难。

我理解ORM技术的出现是为了解决阻抗失配问题。而且我认为解决阻抗不匹配问题的控制代码已经转移到了 ORM 端。

所以,无论文档中写了什么。我认为Hibernate是一个框架。请提供反馈。

hibernate
1个回答
0
投票

如果我们从 Wikipedia 获取框架的定义 - 是的,Hibernate 是一个框架,所有四个关键特性 - IoC、默认行为、可扩展性和不可修改的框架代码 - 都存在。

我想,您对文档的这一部分感到困惑:

Hibernate 是一个与架构无关的库,而不是一个框架,并且 因此可以与各种 Java 框架轻松集成 和容器。

首先,在此之前,文档中有一个免责声明,表明这不是事实,而只是一种观点。我认为他们想说 Hibernate 不是一个架构框架,只负责持久层。

第二(这是我个人的观点),任何持久性框架都会影响整个应用程序架构,因为提供了事务管理,这就是在持久性框架上实现层(例如服务层)时需要牢记的一点).

© www.soinside.com 2019 - 2024. All rights reserved.