Hibernate基本用法:体系结构

来源:互联网 发布:上海知企科技有限公司 编辑:程序博客网 时间:2024/04/26 18:48

ORM概述:

ORM:Object/Relation Mapping,对象/关系数据库映射。Hibernate是ORM框架的一种

ORM是面向对象程序设计语言和关系数据库之间的桥梁,ORM完成了面向对象的编程到关系数据库的映射。

ORM工具作用示意图:


ORM工具将以面向对象方式对持久化对象的增删改查操作,转化对应的SQL操作进行数据库的操作。

ORM基本映射方式:

1.数据库表映射类:持久化类被映射到一个数据库表,程序使用这个持久化类来创建实例、修改属性、删除实例时,系统会自动转换为对这个表进行CRUD操作。

2.数据表的行映射对象:持久化类会生成很多实例,每个实例对应数据表中的一行记录。

3.数据表的列映射对象属性:当程序修改某个持久化对象的指定属性时,ORM将会转换成对对应数据表中指定数据行、指定列的操作。

Hibernate结构:

Hibernate通过持久化对象(PO)这个媒介来对数据库进行操作,底层数据库对于应用程序来说是透明的。下图为官方Hibernate简要体系结构:

Hibernate将应用程序从原始的JDBC访问中释放出来,应用程序无需关心JDBC操作、底层数据库连接、数据库访问实现、事务控制,而是直接以面向对象方式进行持久层的操作。
Hibernate全面解决方案体系架构:
1.SessionFactory:生成session的工程,依赖ConnectionProvider。单个数据库映射关系经过编译后的内存镜像,线程安全的。
2.Session:应用程序与持久层之间交互操作的一个单线程对象。所有的持久化对象必须在Session管理下才能进行持久化操作。它底层封装了JDBC连接,是Transaction工   厂。
3.持久化对象(PO):系统创建的POJO实例,一旦与特定的Session关联,并对应数据表的指定记录,该对象就处于持久化状态。
4.瞬态对象:通过new等关键字创建的Java实例,没有与特定session关联的对象。
5.托管对象:曾经的持久化对象,一旦session关闭,则对象进入托管状态
6.事务(Transaction):代表一次原子操作,Hibernate事务是对底层具体的JDBC,JTA以及CORBA事务的抽象。
7.连接提供者(ConnectionProvider):生成JDBC连接的工厂,通过抽象将应用程序与底层的DataSource或DriverManager隔离开。

0 0
原创粉丝点击