Hibernate体系结构的简单介绍
Hibernate体系结构的简单介绍
1.SessionFactory:
单个数据库映射关系经过编译后的内存镜像,是线程安全的。它是生产Session的工厂,本身需要依赖于ConnectionPeovider。该对象可以在进程或者集群的级别上,为事务之间可以重用的数据提供二级缓存。
2.Session:
是应用程序与持久层之间相互操作的一个单线程对象。同时他也是Hibernate持久化操作的关键对象,所有的持久化操作对象必须在Session的管理下才能进行持久化操作。在它的底层封装了JDBC连接,他也是Transaction的工厂。Session持有必选的一级缓存,在显示执行flush前,所有的持久化操作的数据都在Session对象处。
3.持久化对象(PO):
系统创建的POJO实例,一旦与特定的Session关联,并对应数据表的指定记录,该对象就处于持久化状态,这一系列对象都被成为持久化对象。在程序中对持久化对象的修改都会自动被转化为对持久层的修改。持久化对象完全可以是一个普通的JavaBeans/POJO唯一的区别在于他们是否正与一个Session关联。
4.瞬态对象:
系统通过new关键字创建的Java实例,并未与Session关联,此时该对象处于瞬态。
5.脱管对象:
一个曾经被持久化过的实例,如果与其关联的Session被关闭,该对象则处于脱管状态。
6.事务(Transation):
代表一次原子操作,它具有数据库事务的概念。Hibernate事务是对底层具体的JDBC、JTA以及CORBA事务的抽象。某些情况下一个Session会包含许多个Transation对象。所有的持久化操作都应该在事务管理下进行。
7.连接提供者(ConnectionProvider):
生成JDBC连接的工厂,通过抽象把应用程序与底层的DriverManager或者DataSource隔离开。
8.事务工厂(TransationFactory):
生成Transation对象实例的工厂。无须应用程序直接访问。负责对底层具体事务实现进行封装,将底层的具体事务抽象成Hibernate事务。
最新文章
- [从产品角度学EXCEL 02]-EXCEL里的树形结构
- c中的进制与内存分析
- 【BZOJ-1497】最大获利 最大流
- hadoop启动后jps没有namenode(转)
- Area Under roc Curve(AUC)
- 纯JavaScrip图表插件——Highcharts
- What's this?(js)
- window.applicationCache事件,介绍
- access数据库管理软件收集下载
- java排序算法-交换排序
- BZOJ1662: [Usaco2006 Nov]Round Numbers
- ubuntu-17.10 安装 FANN
- 自学Zabbix3.3-一个简单例子 添加Hosts并应用模板
- nova系列二:kvm介绍
- Win10系列:C#应用控件基础9
- 【Oracle安装卸载】oracle卸载
- 发送邮件【文本-html】【图片】【邮件】【附件】
- hdu 4407 容斥原理
- USBDM Kinetis Debugger and Programmer
- java去除数组中重复的元素方法总结
热门文章
- 安装Elasticsearch,Logstash,Kibana(5.0.1-mac版)
- 夺命雷公狗---node.js---15之加密
- bootstrap, boosting, bagging 几种方法的联系
- Report launcher to run SSRS report subscriptions on demand
- NOIP200205均分纸牌
- 使用 Delphi Xe 的 TDictionary
- V4L2应用程序框架--一【转】
- Table Properties [AX 2012]
- oralce创建用户
- windows7配置Nginx+php+mysql的详细操作是怎样?