Hibernate讲解-3.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate讲解-3

Hibernate_day03总结 今日内容 Hibernate的检索方式 Hibernate的抓取策略 Hibernate的批量检索 事务的并发问题 Hibernate的二级缓存 Hibernate的查询缓存 上次课内容回顾: 1.Hibernate一级缓存: * 缓存:优化手段. * Hibernate中两个基本缓存: * 一级缓存:与session的生命周期一致. * 二级缓存:与sessionFactory的生命周期一致. * 证明一级缓存的存在: * session的生命周期开始 * 查询了一下Book.//发送SQL去查询 * 查询了一个Book.//不发送SQL. * session的生命周期结束 * 一级缓存的管理: * clear(); * evict(Object obj); * flush(); * refresh(Object obj); * 一级缓存的刷出时机: * ALWAYS : * AUTO :默认值 * COMMIT :事务提交/session.flush()时候 * MANUAL :手动调用session.flush()刷出缓存 * 持久化对象的操作的常用方法: Hibernate为了管理持久化对象: * 将持久化对象分成三种状态: * 瞬时态: * 没有唯一标识OID,且没有与session关联. * 持久态: * 有唯一的标识OID,且与session关联. * 脱管态: * 有唯一的标识OID,没有与session关联. * 瞬时态对象: * Book book = new Book(); * 瞬时--持久: * save()/saveOrUpdate(); * 瞬时--脱管: * book.setBid(1); * 持久态对象: * get()/load()/find()/lock(); * 持久态--瞬时: * delete(); * 持久态--脱管: * close()/clear()/evict(); * 脱管态对象: * Book book = new Book(); * book.setBid(1); * 脱管--瞬时: * book.setBid(null); * 脱管--持久: * update();/saveOrUpdate(); Hibernate的关联关系配置: * 一对多: * 多对多: * 一对一: 一对多: * 实体: private class Customer{ private SetOrder orders = new HashSetOrder; } private class Order{ private Customer customer; } * 映射文件: * 在多的一方Order.hbm.xml many-to-one / * 在一的一方Customer.hbm.xml set key / one-to-many / /set * cascade:级联操作: * save-update: * delete * all * delete-orphan * all-delete-orphan * inverse:放弃外键维护权 * 通常在一的一方放弃. 多对多: 实体: private class Student{ private SetCourse courses = new HashSetCourse(); } private class Course{ private SetStudent students = new HashSetStudent(); } 映射文件: 在多对多的双方需要配置: set key / many-to-many / /set ***** 保存多对多双方的时候,需要有一方放弃外键维护权. Hibernate的检索方式: Hibernate的检索方式: 检索方式:查询的方式: 导航对象图检索方式: 根据已经加载的对象导航到其他对象 * Customer customer = (Customer)session.get(Customer.class,1); * customer.getOrders();// 获得到客户的订单 OID 检索方式: 按照对象的 OID 来检索对象 * get()/load();方法进行检索. HQL 检索方式: 使用面向对象的 HQL 查询语言 * Query query = session.createQuery(“HQL”); QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口. * Criteria criteria = session.createCri

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档