Hibernate核心接口简介

Hibernate核心接口简介

ID:40554637

大小:61.00 KB

页数:9页

时间:2019-08-04

Hibernate核心接口简介_第1页
Hibernate核心接口简介_第2页
Hibernate核心接口简介_第3页
Hibernate核心接口简介_第4页
Hibernate核心接口简介_第5页
资源描述:

《Hibernate核心接口简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Hibernate核心接口介绍Configuration类:配置Hibernate启动Hibernate创建SessionFactory对象Configurationcfg=newConfiguration();//读取默认配置文件hibernate.cfg.xmlSessionFactorysf=cfg.configure().buildSessionFactory();//创建SessionFactorySessionFactory:初始化Hibernate创建Session对象线程安全—同一实例被多个线程共享重量级:代表一个数据库内部维护一个连接池openSession()总是创建新

2、的session,需要手动close()getCurrentSession()必须在hibernate.cfg.xml设置session上下文事务自动提交并且自动关闭session.从上下文环境中获得session,如果当时环境中不存就创建新的.如果环境中存在就使用环境中的,而且每次得到的都是同一个session(在session提交之前,提交之后就是新的了)应用在一个session中有多个不同DAO操作处于一个事务时thread例子参见:StudentDAOTesttestGetSession()testGetCurrentSession()Session:负责保存、更新、删除、加载和查询对象轻量级--可以经常创建或销毁save();保存对象到数据库不管是否开启事务保证立即返回OID(主键)主要针对短会话persist();不保证立即返回OID(主键)主要针对长会话delete();只要有

7、OID就可以删除get(clazz,id);直接发起SQL语句从数据库中取出,不会延迟load(clazz,id);返回的是代理对象,等到真正要用到对象的内容时(session关闭之前)才发起SQL语句update();student只要有OID就可以更新(数据库有对应ID)没有不报错但会更新所有字段merge();合并对象更新前会先select再更新saveOrUpdate()同时包含了save()和update()方法的功能如果传入的参数是临时对象,则调用save()方法如果传入的参数是游离对象,则调用update()方法如果传入的参数是持久化对象,则直接返回clear()清除sess

8、ion中的缓存.调用clear()方法会强制清除session缓存.不会与数据库打交道.flush()不常用当session的事务提交后,会强制进行从内存(session缓存)到数据库的同步.默认情况下是session的事务提交时同步.Transaction:tran=session.beginTransaction();//开始事务tran.commit();//先调用flush(),再提交事务tran.rollback();//回滚事务PO对象的三种状态什么是session缓存Session缓存可以理解为session中的一个map成员,它的key为OIDvalue为持久化对象的引用用

9、来提高程序效率三种状态的区别在于:对象在内存、数据库、session缓存三者中是否有OID临时状态内存中的对象没有OID,缓存中没有OID,数据库中也没有OID执行new或delete()后持久化状态内存中的对象有OID,缓存中有OID,数据库中有OIDsave()load()get()update()saveOrUpdate()Query对象返回的集合游离(脱管)状态内存中的对象有OID,缓存中没有OID,数据库中可能有OIDflush()close()后

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。