hibernate第4章 映射持久化类.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  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文档。上传文档
查看更多
第四章 映射持久化类 class name (可选): 持久化类(或者接口)的Java全限定名。 如果这个属性不存在,Hibernate将假定这是一个非POJO的实体映射。 table (可选 - 默认是类的非全限定名): 对应的数据库表名。 discriminator-value (可选 - 默认和类名一样): 一个用于区分不同的子类的值,在多态行为时使用。它可以接受的值包括 null 和 not null。 mutable (可选,默认值为true): 表明该类的实例是可变的或者不可变的。 schema (可选): 覆盖在根hibernate-mapping元素中指定的schema名字。 class catalog (可选): 覆盖在根hibernate-mapping元素中指定的catalog名字。 proxy (可选): 指定一个接口,在延迟装载时作为代理使用。 你可以在这里使用该类自己的名字。 dynamic-update (可选, 默认为 false): 指定用于UPDATE 的SQL将会在运行时动态生成,并且只更新那些改变过的字段。 dynamic-insert (可选, 默认为 false): 指定用于INSERT的 SQL 将会在运行时动态生成,并且只包含那些非空值字段。 polymorphism(多态) (可选, 默认值为 implicit (隐式) ): 界定是隐式还是显式的使用多态查询(这只在Hibernate的具体表继承策略中用到-译注)。 class select-before-update (可选, 默认为 false): 指定Hibernate除非确定对象真正被修改了(如果该值为true-译注),否则不会执行SQL UPDATE操作。在特定场合(实际上,它只在一个瞬时对象(transient object)关联到一个 新的session中时执行的update()中生效),这说明Hibernate会在UPDATE 之前执行一次额外的SQL SELECT操作,来决定是否应该执行 UPDATE。 where (可选) 指定一个附加的SQLWHERE 条件, 在抓取这个类的对象时会一直增加这个条件。 persister (可选): 指定一个定制的ClassPersister。 batch-size (可选,默认是1) 指定一个用于 根据标识符(identifier)抓取实例时使用的batch size(批次抓取数量)。 class optimistic-lock(乐观锁定) (可选,默认是version): 决定乐观锁定的策略。 lazy (可选): 通过设置lazy=“false”, 所有的延迟加载(Lazy fetching)功能将被全部禁用(disabled)。 entity-name (可选,默认为类名): Hibernate3允许一个类进行多次映射( 前提是映射到不同的表),并且允许使用Maps或XML代替Java层次的实体映射 check (可选): 这是一个SQL表达式, 用于为自动生成的schema添加多行(multi-row)约束检查。 rowid (可选): Hibernate可以使用数据库支持的所谓的ROWIDs,例如: Oracle数据库,如果你设置这个可选的rowid, Hibernate可以使用额外的字段rowid实现快速更新。ROWID是这个功能实现的重点, 它代表了一个存储元组(tuple)的物理位置。 class subselect (可选): 它将一个不可变(immutable)并且只读的实体映射到一个数据库的 子查询中。当你想用视图代替一张基本表的时候,这是有用的,但最好不要这样做。 abstract (可选): 用于在union-subclass的继承结构 (hierarchies)中标识抽象超类。 对Hibernate映射来说视图和表是没有区别的,这是因为它们在数据层都是透明的 4.2.1理解Java同一性和等同性 3种识别对象的方法: 如果对象在JVM中占据着相同的内存位置,它们就是同一的。这可以通过使用==操作符进行检查。这个概念称作对象同一性。 如果对象有着相同的值,它们就是相等的,如equals(Object o)方法定义的一样。不显示覆盖这个方法的类,继承了由java.lang.Object定义的实现,它比较对象同一性。这个概念称作等同性。 如果存储在一个关系数据库中的对象表示相同的行,或者它们共享相同的表和主键值,它们就是同一的。这个概念称作数据库同一性。 4.2.2处理数据库同一性 给实体添加标识符属性 标识符属性很特殊——它的值是由持久化实例表示的数据库行的主键值。 通常生命set

文档评论(0)

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

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

1亿VIP精品文档

相关文档