HIbernate简述

来源:互联网 发布:幼儿园网络信息 编辑:程序博客网 时间:2024/05/27 21:50

Hibernate是一个对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得可以使用对象编程思维来操纵数据库。看到这里应该了解到Hibernate也是一个持久层框架。


 ORM的简单规则

  1. 类跟表对应
  2. 类属性与表字段对应
  3. 类实例与表中具体一条记录对应
  4. 一个类可与多个表对应,一个表也可对应多个类
  5. DB中表与表之间的关系(如:外键)映射成为Object之间的关系

Hibernate主要通过5核心个接口来进行对象的持久化操作和事务控制:

  • Configuration接口主要对Hibernate进行配置、启动Hibernate并连接数据库系统,在启动HIbernate的过程中,Configuration实例首先确定HIbernate映射文件的位置,然后读取相关的配置,最后创建一个唯一的SessionFactory实例,这个唯一的SessionFactory实例负责进行所有的持久化操作。Configuration对象只存在系统的初始化阶段

  • SessionFactory接口:主要负责HIbernate的初始化。它作为数据存储源的代理,负责建立Session对象。 具体来说,在HIbernateSessionFactory实际起了一个缓冲区的作用,HIbernate自动生成的SQL语句、映射数据以及某些可重复利用的数据都可存放在这个缓冲区中。同时,它还保存了数据库配置的所有映射关系

  • Session接口Session接口是HIbernate中使用最为广泛的接口,也是持久化的核心。Session对象的生命周期以Transaction对象的事务开启和结束为边界。Session提供了一系列与持久化相关的操作,如读取、创建、和删除相关实体对象的的实例(即数据库中数据的增删改查),因此,Session也被称为持久化管理器

  • Transaction接口Transaction接口主要用于管理事务,是HIbernate的数据库事务接口,它对底层的事务接口进行了封装。

  • Query接口Query接口是HIbernate的查询接口,用于向数据库中查询对象,并控制执行查询的过程。在HIbernate中有三种检索方式,分别为HQL检索方式、QBC检索方式和SQL检索方式。传统的SQL查询语言是结构化的查询方式,这种方式并不适用于查询以对象形式存在的数据。

 

HIbernate的具体操作步骤:

public void init(){//创建配置对象Configuration config = new Configuration().configure();//创建服务注册对象ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();//创建会话工厂对象sessionFactory = config.buildSessionFactory(serviceRegistry);//创建会话对象session = sessionFactory.openSession();//开启事务transaction = session.beginTransaction();}

1. 创建一个配置对象configuration对象 用来读取cfg.xml文件)


2. 利用配置对象创建的服务注册对象来创建会话工厂(在创建会话工厂的同时读取hbm.xml里的对象关系映射文件)


3. 在会话工厂了开启一个会话


4. 开启一个事物(seesion对象的方法必须要封装在事务当中,如果不开启在事务中,并且手工提交事务,对象并不会真正保存在数据库中)


5. 运行完方法后关闭事务,在关闭会话