Hibernate框架【一】——HIbernate框架介绍

系列文章目录

Hibernate框架【三】——基本映射——一对一映射
Hibernate框架【四】——基本映射——多对一和一对多映射
Hibernate框架【五】——基本映射——多对多映射



前言

Hibernate是一个开源的Java对象关系映射(ORM)框架,它提供了一种方便的方式将Java对象与关系型数据库进行映射和交互。通过Hibernate,开发人员可以使用面向对象的方式操作数据库,而不需要直接编写SQL查询语句


一、什么是HIbernate框架

Hibernate架构图

引用至W3C
在这里插入图片描述
Hibernate是一个开源的对象关系映射(ORM)框架,用于将Java对象映射到关系型数据库中的关系表。
它提供了一种面向对象的方式来操作数据库,简化了开发人员对数据库的访问和管理。

如何理解提供了一种面向对象的方式来操作数据库。

一方面:Hibernate可以将定义好的java类映射为数据库中的表,并将java类的实例化的对象,映射为对应表中的一行记录。
另一方面:使用Hibernate,开发人员可以直接操作对象,不需要编写复杂的SQL语句。通过对象的属性和方法来进行数据的读取、修改和删除等操作。

Hibernate提供的核心功能和特性

  1. ORM映射(可以将java对象与数据库表之间进行映射,实现对象和关系数据库之间的转换,支持各种映射策略和注解);

  2. 数据库查询(提供了一组丰富的API,用于执行数据库操作,包括插入、更新、删除、查询,还支持HQL和基于SQL的查询一级Criteria查询和原生SQL查询);

  3. 缓存机制(Hibernate内置了一级缓存和二级缓存机制,用于提供查询性能和减少数据库的访问。一级缓存是会话级别的缓存,保存了会话期间加载的实体对象。二级缓存是跨会话的缓存,可以在多个会话之间共享缓存数据);

  4. 事物管理(可以通过编程或声明式的方式管理数据库事物。支持标准的java事物API(JTA)和本地事物管理);

  5. 延迟加载(允许按需加载关联对象,提高查询性能。这意味着只有在需要访问关联对象时,才会从数据库中加载相应的数据。);

  6. 对象状态管理(通过跟踪对象的状态来管理对象的持久化。它提供了持久化、脱管和删除等状态之间的转换,使开发人员能够方便地操作对象。)

二、Hibernate框架的优点

  1. 使开发更加面向对象化:Hibernate提供了一个面向对象的编程模型,使开发人员可以使用面向对象的思想来操作数据库。
  2. 提高开发效率:Hibernate提供了许多强大的特性和工具:如自动生成数据库表结构,提供了公共的操作数据库的方法,让开发人员不用写SQL语句、缓存机制、事物管理。可以大大减少开发人员的工作量,提高开发效率。
  3. 可移植性:Hibernate可以在不同的数据库系统上运行,如Mysql、Oracle、SQL Server等,开发人员可以使用统一的API和语法,无需关系底层数据库的差异。

三、Hibernate框架的缺点

  1. 学习曲线较陡:Hibernate是一个复杂的框架,具有丰富的功能和概念,对于新手来说,学习和掌握Hibernate需要一定的时间和精力。
  2. 性能问题:尽管Hibernate提供了缓存和懒加载等优化机制,但是不正确配置或者过度使用HIbernate的功能可能会导致性能问题。自动生成的SQL查询语句可能不总是最优的,并且过多的查询和数据加载可能会影响性能。
  3. 复杂性和难以调试:Hibernate的复杂性可能导致难以调适和排查问题。在配置和映射关系方面的错误可能导致不明确的异常和行为。对于复杂的查询和关联关系,编写和优化 Hibernate 查询语句可能需要更高的技术水平。
  4. 于简单应用可能过于重量级:Hibernate 是一个功能强大的框架,适用于中大型应用程序,但对于简单的应用程序来说,可能会觉得过于笨重。在某些情况下,直接使用相对轻量级的 ORM框架更为合适。

需要注意的是:Hibernate 的优点远远超过了其缺点,并且许多缺点可以通过良好的配置和最佳实践来解决。它是一个成熟的 ORM 框架,被广泛使用,并且提供了许多有价值的功能和特性,可大大简化数据库操作和提高开发效率。

四、Hibernate、jpa、jdbc他们三者之间是什么关系

  1. jdbc:jdbc是Java提供的用于与关系型数据库进行交互的标准API,它提供了一组接口和类,使开发人员能够执行数据库的连接、查询、更新等操作。JDBC 需要开发人员手动编写 SQL 查询和处理数据库结果集,对于较低层次的数据库操作提供了灵活性。使开发人员能够执行数据库的连接、查询、更新等操作。JDBC 需要开发人员手动编写 SQL 查询和处理数据库结果集,对于较低层次的数据库操作提供了灵活性。
  2. JPA:JPA是Java持久化标准,定义了一组API和规范,提供了一种与数据库无关的方式来操作实体对象。JPA定义了实体、映射关系、查询语言和事物管理等方面的规范,使开发人员能够以面向对象的方式进行数据库的操作。
  3. Hibernate:Hibernate实现了JPA规范,同时还提供了一些额外的功能和特性。Hibernate封装了底层的JDBC操作,提供了更高层次的抽象,来简化开发人员对数据库的访问。通过HIbernate开发人员可以通过配置和注解来定义实体和映射关系,使用面向对象的方式进行数据库操作。

Hibernate 是 JPA 的实现之一,而 JPA 则是对数据库持久化操作的规范。JDBC 是底层的数据库连接和操作技术,Hibernate 和 JPA 则在 JDBC 的基础上提供了更高层次的抽象和便利性,使得开发人员能够以面向对象的方式进行数据库操作

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring是一个开源的轻量级JavaEE框架,它由Rod Johnson创建并由SpringSource公司(现在是Pivotal公司)进行开发、维护和支持。Spring的核心特点是IoC(Inverse of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程),它们可以帮助开发人员更快地开发应用程序,提高代码的可重用性、可维护性和可测试性。 Spring框架包括多个模块,如Spring核心模块、Spring MVC模块、Spring JDBC模块、Spring ORM模块等,每个模块都提供了很多有用的功能,可以帮助开发人员快速开发各种类型的应用程序。 Spring框架的主要优点包括: 1. IoC容器:Spring的IoC容器可以管理应用程序中的所有对象,通过控制对象之间的依赖关系,可以实现松散耦合的设计,从而提高代码的可重用性和可测试性。 2. AOP支持:Spring的AOP模块可以帮助开发人员实现面向切面编程,通过在方法调用前、调用后或异常抛出时插入代码,可以实现诸如事务管理、日志记录、性能监测等功能。 3. 事务管理:Spring提供了很多事务管理的支持,包括声明式事务、编程式事务等,可以帮助开发人员实现安全、可靠的事务管理。 4. MVC框架:Spring的MVC模块可以帮助开发人员创建Web应用程序,包括处理HTTP请求、渲染响应、处理表单数据等功能。 5. 集成其他框架:Spring可以与其他框架(如Hibernate、MyBatis、Struts等)集成,从而提供更强大、更灵活的功能。 总之,Spring是一个功能强大、易于使用、灵活性高的JavaEE框架,已经成为了Java企业级应用程序开发的事实标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王卫——David

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值