📜  Hibernate-概述(1)

📅  最后修改于: 2023-12-03 15:01:08.332000             🧑  作者: Mango

Hibernate 概述

Hibernate 是一个开源的、轻量级的 ORM (对象关系映射) 框架,用于将 Java 对象映射到关系型数据库中。它的主要作用是简化 Java 应用程序与关系型数据库的交互,并提供更高层次的数据持久化服务。

ORM 框架的优势

ORM 框架主要有以下优势:

  • 对象化数据操作方式,使用对象映射技术,避免直接使用 SQL 语句操作数据库的问题。
  • 数据库无关性,将 Java 对象映射为数据库表结构,使得数据库操作不再受限于特定的数据库平台。
  • 复杂查询支持,ORM 框架可以生成复杂的 SQL 语句,从而提高应用程序对数据库的操作效率。
  • 代码重用,ORM 框架可以通过编写通用的 DAO 层代码,减少业务逻辑层代码,从而提高代码重用率。
  • 编译时检测,增强 Java 应用程序代码的健壮性。
Hibernate 的特点

Hibernate 框架在 Java 或 Java EE 中使用具有以下特点:

  • 全自动映射,类和表之间的映射关系具有很大的自由度,只需要在类中进行相关设置,Hibernate 啥也不用配置。
  • 透明化的事务管理,Hibernate 框架为事务管理提供了很好的支持。
  • 可定制的持久化策略,允许应用程序根据业务需求来定义不同的持久化策略。
  • 增强的缓存机制,Hibernate 框架提供了一套集成的缓存机制,在高并发的 Web 应用中尤其有用。
  • 易于扩展和集成,Hibernate 框架非常易于扩展,允许开发人员根据需求进行定制开发。
Hibernate 的核心组件

Hibernate 框架主要由以下核心组件组成:

  • Hibernate 配置文件:Hibernate 的配置文件指定硬件和软件的环境设置。它主要包括一个 hibernate.cfg.xml 文件和一个 Hibernate 映射文件,这个文件指定了时间与数据库列之间的映射关系。
  • SessionFactory 对象:SessionFactory 是使用 Hibernate 的应用程序所需的重量级服务,它主要用于创建 Session 对象。
  • Session 对象:Session 是 Hibernate 中与数据库进行物理连接的一个接口。它主要用于执行持久化操作,比如保存、更新、删除等。
  • Hibernate Query Language (HQL):Hibernate 针对持久化操作的语言。
Hibernate 的使用方法

为了使用 Hibernate 框架,您需要遵循以下步骤:

  1. 添加 Hibernate jar 包或 Maven 依赖到您的项目中。
<!-- Hibernate dependency -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.32.Final</version>
</dependency>
  1. 编写 Hibernate 的配置文件,如:
<!-- hibernate.cfg.xml -->
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">your_database_driver_class</property>
        <property name="hibernate.connection.url">your_database_url</property>
        <property name="hibernate.connection.username">your_database_username</property>
        <property name="hibernate.connection.password">your_database_password</property>
        <property name="hibernate.dialect">your_database_dialect</property>
 
        <mapping class="your_entity_class" />
    </session-factory>
</hibernate-configuration>
  1. 创建 SessionFactory 对象:
public class HibernateUtils {
    private static final SessionFactory sessionFactory;
    static {
        try {
            sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}
  1. 创建 Session 对象:
Session session = HibernateUtils.getSessionFactory().openSession();
  1. 创建事务,执行增删改查操作:
Transaction transaction = session.beginTransaction();
session.save(your_entity_object);
transaction.commit();
总结

Hibernate 是一个强大的 ORM 框架,可以帮助 Java 开发人员更加轻松地与关系型数据库交互。通过上面的介绍,你应该已经了解到了 Hibernate 的特点、优势以及核心组件的作用。如果您正在寻找一个可靠的 Java ORM 框架,那么 Hibernate 是一个不错的选择。