您的位置:首页 > 其它

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():检查事务是否提交
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: