- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11讲科学与社会的互动.ppt第11讲科学与社会的互动.ppt第11讲科学与社会的互动.ppt
Session session1 = sf.openSession(); Transaction tx1= session.beginTransaction(); Custom a=(Custom ) session1 .load(Custom .class,new Long(1)); Custom b=(Custom ) session1 .load(Custom .class,new Long(2)); mit(); Session1.close(); Company Logo 3 更新数据 session.update()方法能够将一个处于临时脱管或状态的对象,重新纳入Hibernate的内部缓存,变成持久化对象。 session.update()方法被调用时,并不立刻执行SQL语句,而是等到更新操作累计到一定程度的时候在提交事务的时候一起执行。 Transaction tx=session.beginTransaction(); session.update(customer); //提交 mit(); session.close(); tx.close(); 4 saveOrUpdate方法 有save()和update()方法的功能,对于传入的对象,首先会执行一遍查询语句判断该对象在数据库中是否存在,然后调用相应的方法。 如果传入该方法的是一个脱管对象,那么这个方法就会执行update操作,如果传入该方法的是一个临时对象,那么这个方法就会执行insert操作。 原理: 首先在缓存中寻找,如果找到就直接返回 如果实体实现了拦截方法,就执行isUpdate()方法 如果实体处于临时状态就执行save()方法,如果实体处于脱管状态就执行update()方法 Company Logo 5 删除数据 delete()方法用于从数据库中删除一个实体所对应的数据 如果传入的对象是持久化对象,那么当清理缓存时,就会执行delete操作。 如果传入的是脱管对象,那么首先会使该对象与session相关联,然后当清理缓存时,再执行delete操作 例如: Session session=sessionFactory().openSession(); Transaction tx=session.beginTransaction(); Customer customer=(Customer)session.load(Customer.class,”1”); //计划执行一条delete语句 session.delete(customer); //清理缓存,执行一条delete语句 mit(); //关闭session,这时将会把customer对象从缓存中删除。 session.close(); Hibernate配置 目 录 1 Hibernate概述 2 第一个Hibernate程序 3 Hibernate的配置文件 4 深入理解持久化对象 5 Hibernate的映射文件 6 JPA Annotation介绍 7 本讲小结 Hibernate体系结构 简要的Hibernate体系架构 Hibernate全面解决方案体系架构 Hibernate全面解决方案架构解释 SessionFactory 单个数据库映射关系经过编译后的内存镜像。 Session 它是应用程序和持久存储层之间交互操作的一个单线程对象 瞬态对象 系统进行new关键字进行创建的Java 实例,没有Session 相关联,此时处于瞬态 持久化对象 如果PO 实例与Session实例关联起来,且该实例关联到数据库的记录 脱管对象 如果PO实例曾经与Session实例关联过,但是因为Session的关闭等原因,PO实例脱离了Session 的管理 Hibernate全面解决方案架构解释 事务(Transaction) 代表一次原子操作,它具有数据库事务的概念 但它通过抽象,将应用程序从底层的具体的JDBC、JTA和CORBA事务中隔离开。 一个Session 之内可能包含多个Transaction对象。 所有的持久化操作都应该在事务管理下进行,即使是只读操作。 连接提供者(ConnectionProvider) 生成JDBC的连接的工厂,同时具备连接池的作用 他通过抽象将底层的DataSource和DriverManager隔离开。这个对象仅在应用程序需要扩展时使用。 事务工厂(TransactionFactory) 生成Transaction对象实例的工厂 Hibernate工作原理 Configuration cfg = new Configuration().configure(); Session s=sf.openSession();
您可能关注的文档
- 科技改变生活(龚学斌).pptx
- 科技立项中期答辩.pptx
- 科技节剪贴报图片.ppt
- HELLP综合征的新进展及麻醉管理-1.ppt
- 租赁中介推介会.ppt
- 租车行业APP方案.pptx
- HER2基因扩增FISH典型特殊案例分享.ppt
- 竞聘的ppt.ppt
- 童趣-QQ.ppt
- Hermite插值公式(参考).ppt
- 讲稿:深入理解“五个注重”把握进一步深化改革统筹部署以钉钉子精神抓好落实.pdf
- 副市长在2025年全市医疗工作会议上的讲话.docx
- 2025年市县处级以上党委(党组)理论学习中心组专题学习计划.docx
- 市民族宗教事务局党组书记、局长2024年度民主生活会个人对照检视发言材料.docx
- 烟草局党组书记2024年度抓基层党建工作述职报告.docx
- (汇编)学习2025年全国教育工作会议精神心得体会发言心得感悟.pdf
- 汇编学习领会在二十届中纪委四次全会上的重要讲话精神心得体会.pdf
- 在2025年镇安全生产、消防安全和生态环境保护第一次全体会议上的讲话提纲.docx
- 书记干部座谈会上的讲话+纪委全会上的讲话.pdf
- 党课:从毛泽东诗词中感悟共产党人初心使命.docx
文档评论(0)