Hibernate五个核心接口的初步了解

1.Configuration:负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate启动过程中,Configuration类的实例首先定位映射文档位置并读取配置,然后创建SessionFactory对象。其中它的一些主要方法下configure()  导入根目录下的主配置文件,configure(String resource)   导入指定位置的主配置文件,addResource(String resource) 导入一个指定位置的映射文件,addClass(Class clazz)  导入与指定类同一个包中的以类名为前缀,后缀为.hbm.xml的映射文件,buildSessionFactory() 创建 SessionFactory。


2.SessionFactory:负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象,运用到了工厂模式。主要的方法有:openSession() 得到一个session对象。getCurrentSession() 也是得到session,但是getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭,getCurrentSession创建的session会和绑定到当前线程,而openSession不会。close() 关闭 释放资源。


3.Session:最重要的一个接口。负责执行被持久化对象的CRUD操作。但是Session是非线程安全的。同时,Hibernate的session不同于jsp中的HttpSession。操作这个对象的方法:save(Object) , update(Object),  delete(Object) 。查询的方法:createQuery(String)  -->Query  , createCriteria(Class)  管理事务的方法:beginTransaction() --> Transaction , getTransaction()   --> Transaction 获取当前Session中关联的事务对象。然后还有其他的一些方法。


4.Transaction:负责事务相关的操作。它是可选的,也可以自己编写自己底层的事务处理代码。方法有:commit() 提交事务。rollback() 回滚事务。


5.Query:负责执行各种数据库的查询。可以使用HQL和SQL两种语句查询。方法有:list()   查询一个结果集合。uniqueResult()   查询一个唯一的结果,如果没有结果,则返回null,如果结果有多个,就抛异常。


下面是这五个核心接口的关系图:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值