Hibernate基础

来源:互联网 发布:端口聚合 编辑:程序博客网 时间:2024/05/19 03:43

Hibernate框架

Hibernate是一个开放的对象关系映射框架(一种能实现ORM的框架),它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲地使用面向对象的思维方式来操作关系数据库。它可以应用在任何使用JDBC的场景,可以在java客户端编程使用,也可以在Servlet/JSP的Web应用中使用。

Hibernate框架的优点

Hibernate具有以下优点:
    1)Hibernate是JDBC的轻量级的对象封装。Hibernate是一个独立的对象持久层框架,可以使用在任何使用JDBC的场景。
    2)Hibernate是一个和JDBC密切关联的框架。Hibernate的兼容性与JDBC驱动,都和数据库有一定的关系,但是和使用它的java程序以及App Server没有任何关系,也不存在兼容性问题
    3)开源和免费的License。Hibernate框架具有开源和免费的License,方便需要时研究源代码,改写代码和定制功能
    4)具有可扩展性,API开放。Hibernate具有可扩展性,当其功能不够使用时,开发人员可以自己编写代码,对功能进行扩展

Hibernate架构

使用Hibernate开发基于持久层的应用,就要熟悉它的接口。Hibernate的借口主要非为以下几类:
      1)执行基本的CRUD和查询操作的接口。这些接口是应用程序的业务逻辑对Hibernate框架的主要依赖点,接口包括:Session、Transcation和Query。
      2)执行Hibernate配置的接口。该接口包括对Hibernate框架本身的配置与需要被持久化的类的配置信息
      3)回调接口。回调接口允许应用程序对一些事件的发生做出相应的操作。回调接口包括拦截器、生命周期和校验器等
      4)扩展Hibernate映射机制的接口。这类接口是程序员根据实际情况自己编写的。包括UserType、CompositeUserType和IdentifierGenerator等接口

Hibernate核心接口

Hibernate核心接口一共有五个,分别为Session、SessionFactory、Transaction、Query和Configutation。
    1)Session接口。Session接口负责执行被持久化对象的CRUD操作。Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession
    2)SessionFactory接口。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象,这里用到了工厂模式
    3)Transaction接口。Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
    4)Query和Criteria接口。Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语句或SQL语句两种表达方式。
    5)Configuration接口。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档位置并读取配置,然后创建SessionFactory对象。

1 0