Hibernate概述
1 理解ORM基本原理
ORM(Object Relational Mapping)对象关系映射,它的作用是在关系数据库和对象之间做一个自动映射,将数据库中的数据表映射成为对象,也就是持久化类,对关系型数据库以对象的形式进行操作,减少应用程序开发过程中数据持久化的编程任务。可以把ORM理解为关系型数据和对象的一个纽带,开发时只需关注纽带的一端的映射对象即可。
ORM原理图
Hibernate是众多ORM工具中比较优秀的框架,相对于IBATIS,它是全自动的关系/对象的解决方案。Hibernate通过持久化类*.java、映射文件*.hbm.xml和配置文件*.cfg.xml操作关系型数据库,使得开发人员不必纠结于复杂的SQL语句。
2 Hibernate简介
Hibernate体系概要图:
Hibernate是通过数据库和配置信息进行数据持久化服务和持久化对象的。Hibernate封装了数据库访问的细节,通过配置的属性文件这个纽带连接关系型数据库和程序中的实体类。
Hibernate中有三个重要的类:配置类Configuration、会话工厂类SessionFactory、会话类Session
配置类Configuration:
配置类主要负责管理Hibernate的配置信息以及启动Hibernate,在Hibernate运行时配置类会读取一些底层实现的基本信息,包括数据库URL、数据库用户名、数据库用户密码、数据库驱动类和数据库适配器(dialect).
会话工厂类SessionFactory:
会话工厂类是生成Session的工厂,它保存了当前数据库中所有的映射关系(.hbm.xml),可能只有一个可选的二级数据缓存,并且他是线程安全的。但是会话工厂类是一个重量级对象,它的初始化创建过程会耗费大量资源。
会话类Session:
它负责Hibernate所有的持久化操作,通过它开发人员可以实现数据库基本的增删改查操作。但是会话类并不是线程安全的,不要多个线程共享一个Session。