Hibernate 入门(1):简介&安装

Hibernate 简介

Hibernate 是 Gavin King于2001年开始,作为替代使用 POJO 代替传统 EJB 作为持久化层的 ORM 解决方案。 受 hibarnate 影响,Java EE 5 规范抛弃了传统的 EJB,使用 JPA 实体,JPA实体完全可以当作 hibernate PO(Persistent Object,持久化对象)来使用;


Hibernate 提倡低侵入式的设计,完全采用普通的 Java Bean 对象(POJO)编程,不要求 PO 继承 hibernate 某个超类或接口;


ORM(Object/Relation Mapping):即对象/关系映射,ORM是一种规范,概括这这类映射框架的基本特征:完成面向对象编程语言到关系型数据库之间的映射;在实际的使用过程中,程序员可以以面向对象的方式操作持久化对象,而 ORM 框架则负责将其转化为相应的 SQL 操作;


以下是目前一些比较主流的 ORM 框架:


  • JPA:JPA 本身是 Java EE 的一种 ORM 规范,并不是 ORM 产品,JPA实体和 hibernate PO 十分相似,甚至可以直接作为 hibernate PO 使用。JPA 最大的优势在于它是官方标准,一个面向 JPA 编程的应用程序,可以在任意ORM框架自由切换;

  • HibernateRed Hat 的子项目,目前已经被选为 JBoss 服务器的 JPA 实现,其具有优秀的设计、优秀的性能和丰富的文档;

  • MyBatis:Apache 的子项目(早期版本名称为iBatis),这是一种偏向“SQL Mapping”的框架,因为其并不支持纯粹的面向对象操作,相对于 htbernate,它对于数据库的访问更加灵活,允许直接编写 SQL 语句;

  • TopLink:Oracle 公司的产品,现在作为 JPA 的官方实现,GlassFish 服务器的 JPA 实现就是 TopLink;


hibernate 官网:http://hibernate.org/ ,可以在那里查找相关产品的的文档,下载,源码等,本教程就是参考官方提供的文档总结的;


Hibernate 结构体系

Hibernate 架构有4层:Java应用层,hibernate框架层,映射 api 层、数据库层


Hibernate框架使用许多对象会话工厂,会话,事务等以及现有的 Java API(JDBC:Java数据库连接),JTA:Java事务API、JNDI:Java命名目录接口)。

1)SessionFactory:会话工厂

SessionFactory 是 ConnectionProvider 的会话和客户端工厂, 拥有数据的二级缓存(可选)。 org.hibernate.SessionFactory 接口提供了工厂方法来获取 Session 的对象。

2)TransactionFactory: 事务工厂

它是一个事务工厂,是一个可选项。提供工厂方法获取 Transaction 对象;

3)Session:会话

Session 对象提供应用程序和存储在数据库中的数据之间的接口。 它是一个短生命周期的对象并包装JDBC连接。 它是事务,查询和标准的工厂。 它拥有一级缓存(强制性)数据。 org.hibernate.Session接口提供插入,更新和删除对象的方法。 它还提供了事务,查询和标准的工厂方法。

4)Transaction:事务

Transaction 对象指定工作的原子单位,它是一个可选项。 org.hibernate.Transaction接口提供事务管理的方法。

5)ConnectionProvider:连接工厂

它是一个JDBC连接工厂。 它从DriverManager或DataSource抽象出来的应用程序。 它是一个可选项。


Hibernate 安装

要在项目中使用 Hibernate(一般应用或Web应用),只要在 http://hibernate.org/orm/downloads/ 中下载相应的 Hibernate 二进制版本,将下载解压后的 lib/required 目录下的 JAR 包导入到项目依赖中就可以;


如果是IDEA的开发环境,可以直接在【File->New->Project->Java Enterprise->勾选“Hibernate”】即可创建一个包含 Hibernate 相关所有 JAR 库的项目,如果该项目是使用同时使用其他框架 Web 项目,只需要同时勾选其他的框架选项,如 Struts2,Spring 即可,这些框架相关的 JAR 依赖包,IDEA会自动下载;




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值