先决条件: JDBC
null
对Hibernate框架的需求
Hibernate用于克服JDBC的局限性,如:
- JDBC代码依赖于所使用的数据库软件,也就是说,由于使用JDBC,我们的持久性逻辑是依赖的。这里我们将向Employee表中插入一条记录,但我们的查询依赖于数据库软件,也就是说,这里我们使用的是MySQL。但是如果我们改变数据库,那么这个查询就不起作用了。
- 如果使用JDBC,在项目中间更改数据库的成本非常高。
- JDBC代码不是跨多个数据库软件的可移植代码。
- 在JDBC中,异常处理是必需的。这里我们可以看到,我们正在处理大量连接异常。
- 在使用JDBC时,没有支持对象级别的关系。
- 在JDBC中,出现了一个样板问题,即对于每个项目,我们都必须编写以下代码。这会增加代码长度并降低可读性。
为了克服上述问题,我们使用了ORM工具,即Hibernate框架。通过使用Hibernate,我们可以避免上述所有问题,并且可以享受一些额外的功能。
关于Hibernate框架
Hibernate是一个框架,它提供了一些 抽象层 ,这意味着程序员不必担心实现,Hibernate会像内部一样为您实现 建立与数据库的连接,编写查询以执行CRUD操作等 . 这是一个 java框架 用于开发持久性逻辑。持久性逻辑意味着存储和处理长期使用的数据。更准确地说,Hibernate是一个开源、非侵入性、轻量级的java ORM(对象关系映射)框架,用于开发独立于数据库软件的对象,并在所有java、JEE中创建独立的持久性逻辑。
框架 这意味着它是一种特殊的可安装软件,在JDBC、Servlet等一种或多种技术上提供抽象层,以简化或降低开发过程的复杂性。
开源意味着:
- Hibernate框架免费提供给每个人。
- Hibernate的源代码也可以在互联网上找到,我们也可以修改代码。
轻重量意味着:
- Hibernate的大小较小意味着安装包的大小不大。
- Hibernate不需要任何沉重的容器来执行。
- 它不需要POJO和POJI模型编程。
- Hibernate可以单独使用,也可以与其他java技术和框架一起使用。
非侵入性手段:
- Hibernate应用程序开发的类与Hibernate API是松散耦合的类,即Hibernate类不需要实现Hibernate API接口,也不需要从Hibernate API类扩展。
Hibernate框架支持的功能
- Hibernate框架支持 自动DDL 操作。在JDBC中,我们必须手动创建表,并为每一列声明数据类型。但冬眠也可以 DDL操作 对于你来说,比如创建表格、删除表格、修改表格等等。
- Hibernate支持 自动生成主键 .这意味着在JDBC中,我们必须手动设置表的主键。但是Hibernate可以帮你完成这个任务。
- Hibernate框架独立于数据库,因为它支持 HQL(Hibernate查询语言) 它不特定于任何数据库,而JDBC依赖于数据库。
- 冬眠时, 异常处理不是强制性的 ,而在JDBC中,异常处理是强制性的。
- Hibernate支持 高速缓存 而JDBC不支持缓存。
- 冬眠是一种 ORM工具 意味着它支持对象关系映射。虽然JDBC不是面向对象的,但我们处理的是值,即原始数据。在hibernate中,每个记录都被表示为一个对象,但在JDBC中,每个记录都只是一个数据,它只是一个基本值。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END