hibernate是什么意思_hibernate用法_hibernate怎么读_hibernate翻译_hibernate含义

CET6单词 2025-07-30 10
hibernate是什么意思_hibernate用法_hibernate怎么读_hibernate翻译_hibernate含义介绍:
  1. 什么是hibernate?
  2. resumefromhibernation无法开机?
  3. Java开发中,MyBatis、Hibernate、Spring Data JPA应该如何选择?

什么是hibernate?

首先Hibernate不是MVC框架,准确来说是ORM框架。Hibernate的作用完全可以从ORM(Object Relation Mapping)的意思中体现出来。Hibernate工作就是将数据库中的关系型数据映射成Java对象。说白了就是方便开发者使用Java来对关系型数据库进行操作的,这里的重点是关系型数据库,和Nosql种种并无半毛钱关系。优点:

有自己的Hql语句,对sql进行了一定的封装;

各种关系型数据库基本都能支持;

开发难度低;

各方面都比较成熟完善,包括事务、缓存等一些ORM该有的东西它都有;

缺点:

数据量大的时候,Hibernate就虚了,尤其是delete和update操作

resumefromhibernation无法开机?

出现这个提示说上次你并没有关机而是休眠了!

而出现这样的情况,多半是用户在关机时使用了笔记本的电源按钮,而电源按钮并非是关机键,而是休眠键!当然也有部分用户是由于win10驱动不兼容引起的关机故障。

解决方法:

1、先把“开始菜单的电源按钮”固定设置为“关机”:

W+X→控制面板→硬件和声音→电源选项→选中“首选计划”→更改计划设置→更改高级电源设置,在弹出的设置窗口中找到“电源按钮和盖子”→“开始”菜单电源按钮→设置→为“关机”,确定即可。

Java开发中,MyBatis、Hibernate、Spring Data JPA应该如何选择?

选择哪一种框架,需要结合项目实际来,结合业务场景和团队成员的能力,综合考虑并选择技术方案。

先和大家讲讲每一种框架是啥

  • Hibernate:POJO与数据库表建立映射关系;Java程序员可以使用操作对象的思维操作数据库。(POJO就是Java Bean,只有有属性、set、get方法)

  • Mybatis:做的是POJO与SQL之间的映射关系;程序员需要编写SQL;

  • Spring Data JPA:有人说它是对Hibernate更高级的封装,这种说法是有一些问题的;第二部分详细说明一下。

要解释清楚Spring Data JPA是什么,需要一步步说起

  • 期初Java需要通过各个数据库厂商提供的API进行数据库的访问,后来JAVA提出了JDBC,程序直接使用JDBC这套规范就可以跟各个数据库进行对接;

  • 接着诞生了ORM技术,简化了Java对象的持久化工作,出现了Hibernate、TopLink等ORM框架;

  • Sun公司在JDK1.5的时候,吸收了Hibernate、TopLink等ORM框架的优点,提出了Java持久化规范:JPA;

  • Hibernate在3.2的时候提供了JPA的实现,其余的JPA的供应商还有诸如OpenJPA、Toplink等;

  • Spring在做持久化这一块的工作,开发了Spring-data-xxx这一系列包,如:Spring-data-jpa,Spring-data-redis,Spring-data-mongodb等等,这些都是Spring 提供的基于JPA和其他一些NOSQL的Repository。

    hibernate是什么意思_hibernate用法_hibernate怎么读_hibernate翻译_hibernate含义

  • Spring data JPA 是在JPA规范的基础下提供了Repository层的实现,但是使用哪一款ORM需要你自己去决定;相比我们更为熟悉的Hibernate和MyBatis,Spring Data JPA可以看做更高层次的抽象。

  • 使用Spring data JPA,默认底层是Hibernate,但是可以修改成其他的ORM框架。

几种框架的优劣

  • Hibernate开发难度较大,学习周期长;但是可以让开发者无需关心SQL,更专注业务流程;HQL不关心数据库的类型,所以迁移起来很方便;

  • Mybatis需要手动编写SQL语句(更直观),可更直接地对SQL进行优化,但是数据库移植性差;

  • Spring Data JPA简化了数据库访问,可以通过命名规范编写SQL,如果SQL较为复杂,还是需要通过注解的方式编写SQL;它更适用于现在微服务的架构(微服务的极致都是单表操作)。


从个人的角度:MyBatis>Spring Data JPA>Hibernate,或者MyBatis + Spring Data JPA。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

如果没有更换不同数据库可能,Mybatis 可能更好一些,现在的Mybatis不光只有原生,什么操作都得写SQL了,自动增删改查单表的插件也很多了,而且自动分页插件也有,都挺优秀。关于Hibernate和Spring Data Jpa本质基本一样,Hibernate是JPA标准的一种实现,同为JPA实现的还有Eclipselink 、OpenJPA。这样Hibernate就是Spring Data Jpa的默认执行器,同时Spring Data Jpa也有Eclipselink的实现,在实际使用中JPQL(HQL)会出现方法不足的情况最后还是得用SQL,比如像xxx,xxx,xxx这样的数据,JPA和HQL中没有实现,但是在MySQL中有一个find in set方法。