Hibernate学习——(二)细谈类功能
2016-03-05 13:52
232 查看
上一篇大致实现了Hibernate的功能,了解了基本配置,现在针对配置中出现的各种类进行一个学习。
一、Configuration
负责管理Hibernate的配置信息,包括:
1、Hibernate运行时的底层信息:数据库的URL,用户名,密码,JDBC驱动类,数据库方言,数据库连接池等(对应hibernate.cfg.xml)
2、持久化类与数据库表的映射关系(*.hbm.xml)
创建方式:Configuration conf = new Configuration().configure();configure()方法如果不带参数,则默认关联的是hibernate.cfg.xml;
当然其也可以带参数,eg:
File file = new File(“xxx.xml”);
Configuration conf = new Configuration().configure(file);则是传递指定名字的Xml文件。
二、SessionFactory接口
SessionFactory是针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。其一旦被构造完毕,即被赋予特定的构造信
息;SessionFactory是创建session的工程。但是需要注意的是创建SessionFactory很消耗资源,所以一般情况下一个应用只初始化一
个SessionFactory对象。
在新版本中,MyEclipse添加了对Hibernate的支持,添加了支持后会自动生成一个HibernateSessionFactory.java,可以供用户
直接调用其中的静态方法getSession()创建session对象:Session s = HibernateSessionFactory.getSession();
三、Session接口
是应用程序与数据库之间交互操作的一个单线程对象,是Hibernate运作的中心,所有持久化对象必须在session管理下才可以
进行持久化操作。此对象生命周期很短。Session对象有一个一级缓存,这一点后面的学习中再详细介绍。
持久化类与Session关联起来之后就具有了持久化的能力。
Session类有很多方法:
取得持久化对象:get()、load();
持久化对象的CRUD:save()、update()、delete()......
开启事务:beginTransaction()
管理session的方法:isOpen()、flush()、clear()、close()等
四、Transaction
事务。代表一个原子操作,它具有数据库事务的概念,所有持久层的操作都应该在事务管理下进行。
Transaction trans = session.beginTransaction();
常用方法:
commit():提交相关联的session实例
rollback();撤销事务操作
wasCommitted():检查事务是否提交
一、Configuration
负责管理Hibernate的配置信息,包括:
1、Hibernate运行时的底层信息:数据库的URL,用户名,密码,JDBC驱动类,数据库方言,数据库连接池等(对应hibernate.cfg.xml)
2、持久化类与数据库表的映射关系(*.hbm.xml)
创建方式:Configuration conf = new Configuration().configure();configure()方法如果不带参数,则默认关联的是hibernate.cfg.xml;
当然其也可以带参数,eg:
File file = new File(“xxx.xml”);
Configuration conf = new Configuration().configure(file);则是传递指定名字的Xml文件。
二、SessionFactory接口
SessionFactory是针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。其一旦被构造完毕,即被赋予特定的构造信
息;SessionFactory是创建session的工程。但是需要注意的是创建SessionFactory很消耗资源,所以一般情况下一个应用只初始化一
个SessionFactory对象。
在新版本中,MyEclipse添加了对Hibernate的支持,添加了支持后会自动生成一个HibernateSessionFactory.java,可以供用户
直接调用其中的静态方法getSession()创建session对象:Session s = HibernateSessionFactory.getSession();
三、Session接口
是应用程序与数据库之间交互操作的一个单线程对象,是Hibernate运作的中心,所有持久化对象必须在session管理下才可以
进行持久化操作。此对象生命周期很短。Session对象有一个一级缓存,这一点后面的学习中再详细介绍。
持久化类与Session关联起来之后就具有了持久化的能力。
Session类有很多方法:
取得持久化对象:get()、load();
持久化对象的CRUD:save()、update()、delete()......
开启事务:beginTransaction()
管理session的方法:isOpen()、flush()、clear()、close()等
四、Transaction
事务。代表一个原子操作,它具有数据库事务的概念,所有持久层的操作都应该在事务管理下进行。
Transaction trans = session.beginTransaction();
常用方法:
commit():提交相关联的session实例
rollback();撤销事务操作
wasCommitted():检查事务是否提交
相关文章推荐
- 5种处理js跨域问题方法汇总
- EF(EntityFramework) 的 CodeFirst 使用指南一(创建)
- CodeForces 631C Report(找规律)
- MySQL使用内存算法
- No package 'gtk+-2.0' found (PKG_CONFIG_PATH问题) [复制链接] 0 0
- 自写网络流24题总结
- j2ee 使用db.properties连接mysql数据库
- 在水晶报表中使用Code128条形码
- 51nod 1118 机器人走方格
- 索引失效(存在索引但不使用索引)
- js跨域及解决方案
- HDU 3068 最长回文(求最长回文子串)
- 第二周项目二 标准体重
- wampum打开localhost时没有前缀,图标黄色怎么办?
- 分享一个生产环境中利用SVN上线代码的脚本
- launcher/notification icon的尺寸标准
- mysql插入数据,获取最新插入的ID(自增列)
- 当下互联网创业公司采用增量模型的原因
- HDU 3068 最长回文(求最长回文子串)
- Cube(规律)