Hibernate进阶篇(二)——session简介
2015-06-23 21:55
169 查看
转载请注明:http://blog.csdn.net/uniquewonderq
在说明session简介前,先说明一下hibernate的执行流程:
![](http://img.blog.csdn.net/20150623215928754?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdW5pcXVld29uZGVycQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
1.首先创建一个配置对象。Configuration对象,它的作用是用来读取配置文档(Hibernate.cfg.xml)。
代码如下:
创建配置对象
Configuration config=new Configuration().configure();
2.创建配置对象的目的是可以用它来创建SessionFactory对象,创建该对象的时候,就会读取加载相应的对象关系映射文件。
3.获得了SessionFactory对象之后,就可以创建Session对象,就表示获得了数据库连接对象。 就可以执行Session对象相应的方法。比如说它的增(save)删(delete)改(update)查(get)方法。但是在执行session方法的时候,必须要开启一个事务,也就是说这些方法必须封装在一个事务当中。执行完这些方法之后,就必须提交事务,再关闭Session。
什么是Session呢?
我们知道,Hibernate是对JDBC的一个封装。所以不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。
那么我们可以简单的理解,session就是一个操作数据库的对象。那么我们在使用Hibernate操作数据库之前呢,就必须要先获取一个session的实例。
session与connection是多对一的关系,每一个session都有与之对应的connection对象,一个connection不同时刻,可以供session使用。
如果要把对象保存在数据库关系中需要调用session的各种方法。
比如:save(),update(),delete(),createQuery()等。
在说明session简介前,先说明一下hibernate的执行流程:
1.首先创建一个配置对象。Configuration对象,它的作用是用来读取配置文档(Hibernate.cfg.xml)。
代码如下:
创建配置对象
Configuration config=new Configuration().configure();
2.创建配置对象的目的是可以用它来创建SessionFactory对象,创建该对象的时候,就会读取加载相应的对象关系映射文件。
3.获得了SessionFactory对象之后,就可以创建Session对象,就表示获得了数据库连接对象。 就可以执行Session对象相应的方法。比如说它的增(save)删(delete)改(update)查(get)方法。但是在执行session方法的时候,必须要开启一个事务,也就是说这些方法必须封装在一个事务当中。执行完这些方法之后,就必须提交事务,再关闭Session。
什么是Session呢?
我们知道,Hibernate是对JDBC的一个封装。所以不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。
那么我们可以简单的理解,session就是一个操作数据库的对象。那么我们在使用Hibernate操作数据库之前呢,就必须要先获取一个session的实例。
session与connection是多对一的关系,每一个session都有与之对应的connection对象,一个connection不同时刻,可以供session使用。
如果要把对象保存在数据库关系中需要调用session的各种方法。
比如:save(),update(),delete(),createQuery()等。
相关文章推荐
- 孙钟秀--《操作系统教程》注释(陈怀临)-- 读书笔记
- sql 高性能存储过程分页
- 搭建eclipse+maven+scala-ide的scala web开发环境
- [转]Loadrunner Error code 10053 & Tomcat 连接器(connector)优化
- 搭建eclipse+maven+scala-ide的scala web开发环境
- 离散点最小(凸)包围边界查找
- 【Hadoop基础】hadoop fs 命令
- SELinux原理和使用
- 稀疏(sparsity)矩阵的行压缩存储
- elipse中清理项目后R文件消失了
- 详解字符数字转换 atoi 与 strtol
- To_10_r_100_8_5---不用乘法或加法增加8倍。现在用同样的方法增加7倍
- 用c#写的一个局域网聊天客户端 类似小飞鸽
- Container with most water
- python抓京东手机数据
- 报表
- python爬虫系列之爬京东手机数据
- DynamicsAX开发中的各种陷阱(持续更新中。。。)
- 网络安全未雨绸缪 国家安全防微杜渐
- Python编写带参数decorator