网站大量收购独家精品文档,联系QQ:2885784924

Hibernate配置详解.pptVIP

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

Hibernate配置详解 POJO映射文件 Hibernate主键配置策略 组件映射 自定义数据类型映射(选学) 继承关系映射 POJO映射文件 – 类映射 class name=“POJO的类全路径” table=“对应的库表名” discriminator-value=“discriminator_value” dynamic-update=“true | false” dynamic-insert=“true | false” select-before-update=“true | false” polymorphism=“implicit | explicit” where=“查询时使用的SQL的条件子句” lazy=“true | false” / POJO映射文件 – 类映射 Name:POJO的类的全路径。本项一定要配置。 Table:POJO对应的库表名。本项一定要配置。 select-before-update:是否在执行update时发送一条select语句查询对象是否被修改过,只有修改过时,update语句才会真的被执行。本项可以不配置。默认为false。 dynamic-update:更新SQL是否动态生成。为false时,每次更新都会将POJO的所有属性更新到DB;为true时,只更新POJO中修改过的属性。本项可以不配置。如果select-before-update=“false”,则dynamic-update 失效,变成静态update。 dynamic-insert:插入SQL是否动态生成。为false时,每次插入都会将POJO的所有属性插入到DB;为true时,只插入POJO中非空的属性。本项可以不配置。默认为false。 Lazy:设置延迟加载策略。本项可以不配置。 select-before-update效果演示 用session的update方法更新一个对象 查看Hibernate控制台上是否只打印了一条update语句 将select-before-update设为true,再次执行上述更新 查看Hibernate控制台上,在打印update语句之前,是否先打印了一条select语句(是否真的在执行更新之前进行了查询) 保持select-before-update设为true,创造一个对象,且它的要更新的所有属性的值与数据库里对应字段的值相同,用update语句更新这个对象 查看控制台上是否打印select和update语句(是否因为查询到更新后的数据和更新前的数据相同,而没有执行update动作) 如果将select-before-update设为false,再次执行上述操作 查看控制台上是否打印select和update语句(是否因为取消了select-before-update,导致没有判断数据是否有差异,直接执行更新动作) dynamic-insert效果演示 创造一个POJO实例,将它的部分属性设为null,然后用session的save方法将它插入到数据库(数据库的表结构中必须设置各个字段可以为null) 查看Hibernate控制台上打印的insert语句(是否插入了所有属性对应的字段) 将dynamic-insert设为true,再次执行上述插入 查看Hibernate控制台上打印的insert语句(是否没有插入值为null的属性对应的字段) 将dynamic-insert设为false,再看看效果 dynamic-update效果演示 创造一个POJO实例,将它的部分属性设为和数据库里对应字段的值相同,然后用session的update方法将它插入到数据库 查看Hibernate控制台上打印的update语句(是否更新了所有属性对应的字段) 将dynamic-update设为true,再次执行上述插入 查看Hibernate控制台上打印的update语句(是否没有更新值和数据库里对应字段相同的属性对应的字段) 将dynamic-update设为false,再看看效果 POJO映射文件实例 – 类映射 class name=“a.b.Student” table=“STUDENT_LIST” discriminator-value=“a.b.Student” dynamic-update=“true” dynamic-insert=“true” select-before-update=“true” polymorphism=“implicit” where=“age 18” lazy=“true” / POJO属性类型原则 不同类型的字段,在建立POJO中对应属性时,用什么类型的变量呢? 请看后面的表格:

文档评论(0)

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

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

1亿VIP精品文档

相关文档