第6讲Hibernate基本用法(1610KB).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文档。上传文档
查看更多
其他常用的配置属性 hibernate.show_sql:是否在控制台输出Hibernate生成的SQL语句,只能为true或者false两个值 hibernate.format_sql:是否将SQL语句转换成格式良好的SQL语句。 hibernate.use_sql_comments:是否在Hibernate生成的SQL语句中添加有助于调试的注视,只接受true和false两个值。 hibernate,jdbc.fetch_size:指定JDBC抓取数量的大小,它可以接受一个整数值,其实质是调用Statement.setFetchSize()方法。 hibernate.jdbc.batch_size:指定Hibernate使用JDBC2的批量更新的大小,它可接受一个整数值,建议是取5到30之间。 hibernate.connection.autocommit:设置是否自动提交。通常不建议自动提交。 hibernate.hbm2ddl.auto:设置当创建SessionFactory是,将Drop刚建的数据表。该属性可以是update、create和drop-create三个值。 目 录 1 Hibernate概述 2 第一个Hibernate程序 3 Hibernate的配置文件 4 深入理解持久化对象 5 Hibernate的映射文件 6 JPA Annotation介绍 7 本讲小结 持久化类的要求 提供一个无参的构造器 提供一个标识属性 标识属性的类型尽量避免基本类型 为持久化类的每个属性添加set和get方法 使用非final类 重写equal()和hashCode()方法 持久化对象的状态 持久化对象 PO = POJO + 映射文件 PO可有以下的3种状态。 瞬态:如果PO实例从未与Session实例关联过,该实例处于瞬态状态。 持久化:如果PO 实例与Session实例关联起来,且该实例关联到数据库的记录。 脱管:如果PO实例曾经与Session实例关联过,但是因为Session的关闭等原因,PO实例脱离了Session 的管理,这种状态被称为脱管状态。 对PO的操作必须在Session的管理下才能同步到数据库,Session由SessionFactory 工厂产生,SessionFactory是数据库编译后的内存镜像,通常一个对应一个SessionFactory对象。SessionFactory对象是由Configuration对象生成,Configuration负责加载Hibernate配置文件。 持久化对象的状态 瞬态:对象由new操作符创建,且尚未Hibernate Session 关联的对象被认为处于瞬态。瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识,如果程序中失去了瞬态对象的引用,瞬态对象将会被垃圾回收机制销毁。使用Hibernate Session 可以将其变为持久化状态。 持久化对象的状态 持久化:持久化实例在数据库中有对应的记录,并且拥有一个持久化标识。持久化的实例是可以刚刚保存的,也可以是刚刚被加载的,无论那一种,持久化对象都必须与指定的hibernate Session关联。hibernate会检测到处于持久化状态对象的改动,在当前操作执行完成时将对象数据写回数据库。开发者不需要手动执行UPDATE。 持久化对象的状态 脱管:某个实例曾属于持久化状态,但随着与之关联的Session被关闭,该对象就变为了脱管态。对脱管对象的引用依然有效,对象可以被继续修改。如果让脱管对象与某个Session关联,那么这个脱管态对象将会重新转换为持久化状态,而脱管态期间的改动也不会丢失,也可被写入数据库。正是因为这个原因,逻辑上的长事务成为了可能,它被称为应用程序事务。即事务可以跨越用户的思考,因为当对象处于脱管态,对该对象操作无须锁定数据库,不会造成性能的下降。 持久化对象的状态迁移 Get方法和Load方法的区别 get():立即加载 load():延迟加载 实际操作演示 目 录 1 Hibernate概述 2 第一个Hibernate程序 3 Hibernate的配置文件 4 深入理解持久化对象 5 Hibernate的映射文件 6 JPA Annotation介绍 7 本讲小结 映射文件的基本结构举例 ?xml version=1.0? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping-3.0.dtd hibernate-mapping class name=类路径.类名 id name=i

您可能关注的文档

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档