hibernate的原理
7页1、hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库。hibernate核心接口:session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象 configuration:负责配置并启动hibernate,创建SessionFactoryTransaction:负责事物相关的操作Query和Criteria接口:负责执行各种数据库查询hibernate工作原理:1.通过Configuration config = new Configuration().configure();/读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的读取并解析映射信息3.通过SessionFactory sf = config.buildSessionFactory();/创建SessionFactory4.Session session = sf.openSession();/
2、打开Sesssion5.Transaction tx = session.beginTransaction();/创建并启动事务Transation6.persistent operate操作数据,持久化操作mit();/提交事务8.关闭Session9.关闭SesstionFactory hibernate优点(及为什么使用hibernate):1、封装了jdbc,简化了很多重复性代码。2、简化了DAO层编码工作,使开发更对象化了。3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。4、支持透明持久化,因为hibernate操作的是纯粹的(pojo:简单的Java对象,实际就是普通JavaBeans)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。缓存:a) 数据库级缓存:这级缓存是最高效和安全的,但不同的数据库可管理的层次并不一样,比如,在Oracle中,可以在建表时指定将整个表置于缓存当中。b) session缓存:在一个Hibernate session有效,这级缓存的可干预性不强,大多于HIBERN
3、ATE自动管理,但它提供清除缓存的方 法,这在大批量增加/更新操作是有效的。比如,同时增加十万条记录,按常规方式进行,很可能会发现OutofMemeroy的异常,这时可能需要手动清除 这一级缓存:Session.evict以及 Session.clearc) 应用缓存:在一个SESSIONFACTORY中有效,因此也是优化的重中之重,因此,各类策略也考虑的较多,在将数据放入这一级缓存之前,需要考虑一些前提条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非关键数据d) 分布式缓存:同c)的配置一样,只是缓存产品的选用不同,oscache, jboss cache,的大多数项目,对它们的用于集群的使用(特别是关键交易系统)都持保守态度。在集群环境中,只利用数据库级的缓存是最安全的。什么是缓存:缓存就是把以前从数据库中查询出来和使用过的对象保存在内存中(一个数据结构中),这个数据结构通常是或类似Hashmap,当以后要使用某个对象时,先查询缓存中是否有这个对象,如果有则使用缓存中的对象,如果没有则去查询数据库,并将查询出来的对象保存在缓存中,以便下次
4、使用.一级缓存:当应用程序调用Session的save()、update()、 saveOrUpdate()、get()或load(),以及调用查询接口的 list()、iterate()或filter()方法时,如果在Session缓存中还不存在相应的对象,Hibernate就会把该对象加入到第一级缓存中。当清理缓存时,Hibernate会根据缓存中对象的状态变化来同步更新数据库。 Session为应用程序提供了两个管理缓存的方法: evict(Object obj):从缓存中清除参数指定的持久化对象。 clear():清空缓存中所有持久化对象。Hibernate的缓存机制:Hibernate缓存的作用: Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据;Hibernate缓存分类: Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存Hibernate一
《hibernate的原理》由会员天***分享,可在线阅读,更多相关《hibernate的原理》请在金锄头文库上搜索。
10-6数据库设计--数据库运行维护与管理(二)
9-5系统开发和运行--系统设计基础
4-5设备管理一
10-5数据库设计--数据库运行维护与管理(一)
9-6系统开发和运行--系统实施与运行维护
10-1数据库设计--数据库设计概述
9-2系统开发与运行--软件项目管理
spring知识点
希赛软考学习包服务内容详细介绍
hibernate的原理
葵花宝典整理版
前端面试题(jQuery和js)
葵花宝典最终版
HTML+CSS题库1
jquery题库1
2011年上半年软考网络工程师下午试--希赛软考学院卷及详解
软考系统分析师考试真题二(下午试题)
软考系统分析师考试真题一(下午试题)
jquery题库2
2019下半年信息系统项目管理师下午真题
2024-03-07 87页
2023-12-26 16页
2023-12-26 28页
2023-07-21 7页
2023-07-21 3页
2023-07-21 14页
2023-07-21 3页
2023-07-21 30页
2023-07-21 34页
2023-07-21 15页