Hibernate_01_介绍

来源:互联网 发布:法国华人 知乎 编辑:程序博客网 时间:2024/06/17 08:36

Hibernate简介:

Hibernate官方网站是:http://hibernate.org/

有关 Hibernate 的资讯,文档,软件库等都可以这个网站上找到。

一:什么是Hibernate:

    • Hibernate是数据访问层框架,对JDBC进行封装,是针对数据库访问提出的面向对象的解决方案,Hibernate框架简化了java应用程序与数据库交互的开发过程。
    • 使用JDBC访问数据库时,需要编写大量的SQL语句,给大量的占位符赋值,而且需要手动将JAVA中的对象与数据库表中的记录进行转换,极大的提高程序复杂性,耦合度高;
    • 使用Hibernate能够简化以上操作,Hibernate能自动生成SQL语句,自动给?号参数赋值,而且Hibernate采用了轻量级的ORM(对象关系映射)思想,实现了将JAVA对象与数据库对象之间的映射。

二:ORM(Object Relation Mapping)

  • ORM思想内部使用JDBC的API与数据库进行交互。简化了对数据库的访问,它是将对象映射到数据库中存储的数据(表)的编程技术。

  • ORM思想,就是将对象与数据库数据进行相互转换的思想,不同的框架/技术实现ORM手段不同,但更多的是采用配置+反射方式来实现ORM思想。

  • Hibernate提供一系列API,允许我们直接访问实体对象,然后其根据ORM映射关系,转换成SQL去执行,从而达到访问数据库目的。

这里写图片描述

三:Hibernate框架的优点:

  1. 开源和轻量级:

    • Hibernate框架是根据LGPL许可证和轻量级的开源工具。
  2. 快速性能:

    • Hibernate框架的性能很快, Hibernate框架中有两种类型的缓存:一级缓存和二级缓存。 一级缓存默认是启用的。
  3. 数据库独立查询:

    • Hibernate支持面向对象的查询语言HQL, 它生成数据库独立查询。 所以你不需要编写数据库特定的查询语句。

    • 在Hibernate之前,如果项目更改了数据库,我们需要更改SQL查询,从而导致维护变得非常复杂。

  4. 自动创建表:

    • Hibernate框架提供了自动创建数据库表的功能。 因此,无需手动在数据库中创建表。
  5. 简化复杂连接:

    • Hibernate框架中可轻松获取多个表中的数据。
  6. 提供查询统计和数据库状态:

    • Hibernate支持查询缓存,并提供有关查询和数据库状态的统计信息。