Hibernate3.2基础教程.pptVIP

  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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * Hibernate3.2映射 属性映射: 每个子类一张表的优缺点: 优点:该映射策略遵循数据库范式,如果不支持SQL UNION其性能优于前面提到的TABLE_PER_CLASS策略。该策略虽然不如SINGLE_TABLE那么快捷,可是能在任何字段上定义NOT NULL约束或者其他约束。 缺点:该策略性能不如SINGLE_TABLE策略的性能。 Hibernate3.2操作 操作部分主要讲下边几点: 1.Hibernate应用中的对象状态 2.理解Session缓存 3.Session的保存、更新、删除方法 4.Hibernate中的事务 (*:因为查询有很多内容,所以Session的查询放到检索部分来讲解。) Hibernate3.2操作 操作简介: 在Hibernate操作里面,Session接口是Hibernate向应用程序提供的操纵数据的最主要接口,它提供了基本的保存、更新、查询、删除等方法。Session有一个缓存,位于缓存中的对象是持久化状态的,除此对象还能位于游离状态和临时状态。 (*:我们这里说的对象就是Hibernate3.2映射中讲到的实体,也是我们用JPA注解好的持久化实体。) Hibernate3.2操作 操作简介: 这里介绍一段完整的Hibernate3.2获取Session的代码: 从这里可以看到前面第一行代码在配置部分我们已经见过面了,只需要上边几行代码我们就可以活得一个Session,不过需要注意的是这个Session和我们Web中的会话是两个完全不同的概念。简单地讲Session和Hibernate的关系如同Statement和JDBC的关系。 Configuration config = new AnnotationConfiguration().configure(); SessionFactory factory = config.buildSessionFactory(); Session session = factory.openSession(); Hibernate3.2操作 Hibernate应用中的对象状态: Hibernate应用中对象分为三种状态: 临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于Session缓存中。 持久化状态(persistent):已经被持久化,加入到Session的缓存中。 游离状态(detached):已经被持久化,但是不再处于Session的缓存中。 (*:这里的对象一般就是我们注解好映射关系的POJO类的对象,Session可以直接将这种对象进行操作。) Hibernate3.2操作 Hibernate应用中的对象状态: 我们可以用图来描述Hibernate的状态以及状态转换: 临时状态 游离状态 持久化状态 new语句 get() load() find() iterate() save() saveOrUpdate() evict() close() clear() delete() update() saveOrUpdate() lock() delete() 垃圾回收 垃圾回收 Hibernate3.2操作 Hibernate应用中的对象状态: 由上图我们可以得到下边的二维表例子: 程序代码 Phone对象状态 tx = session.beginTransaction(); Phone c = new Phone(); 临时状态 Session.save(c); 转变为持久化状态 Long id = c.getId(); c = null; Phone cc = (Phone)session.load(Phone.class,id); mit(); 处于持久化状态 Session.close(); 转变为游离状态 System.out.println(cc.getName()); 处于游离状态 cc = null; 结束生命周末 Hibernate3.2操作 Hibernate应用中的对象状态: 临时对象的特征: 1.不处于Session的缓存中,也可以说,不被任何一个Session实例关联。 2.在数据库中没有对应的记录。 Hibernate3.2操作 Hibernate应用中的对象状态: 游离对象的特征: 1.不再位于Session的缓存中,也可以说,不被任何一个Session实例关联。 2.在数据库没有对应的记录。 Hibernate3.2操作 Hibernate应用中的对象状态: 持久化对象的特征: 1.位于一个Session实例的缓存中,也可以说,持久化对象总是被一个Se

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档