Hibernate第4章 映射持久化类.ppt

Hibernate第4章 映射持久化类.ppt

ID:52549849

大小:275.01 KB

页数:31页

时间:2020-04-10

Hibernate第4章 映射持久化类.ppt_第1页
Hibernate第4章 映射持久化类.ppt_第2页
Hibernate第4章 映射持久化类.ppt_第3页
Hibernate第4章 映射持久化类.ppt_第4页
Hibernate第4章 映射持久化类.ppt_第5页
资源描述:

《Hibernate第4章 映射持久化类.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章映射持久化类classname(可选):持久化类(或者接口)的Java全限定名。如果这个属性不存在,Hibernate将假定这是一个非POJO的实体映射。table(可选-默认是类的非全限定名):对应的数据库表名。discriminator-value(可选-默认和类名一样):一个用于区分不同的子类的值,在多态行为时使用。它可以接受的值包括null和notnull。mutable(可选,默认值为true):表明该类的实例是可变的或者不可变的。schema(可选):覆盖在根

2、素中指定的schema名字。classcatalog(可选):覆盖在根元素中指定的catalog名字。proxy(可选):指定一个接口,在延迟装载时作为代理使用。你可以在这里使用该类自己的名字。dynamic-update(可选,默认为false):指定用于UPDATE的SQL将会在运行时动态生成,并且只更新那些改变过的字段。dynamic-insert(可选,默认为false):指定用于INSERT的SQL将会在运行时动态生成,并且只包含那些非空值字段。polymorphism

3、(多态)(可选,默认值为implicit(隐式)):界定是隐式还是显式的使用多态查询(这只在Hibernate的具体表继承策略中用到-译注)。classselect-before-update(可选,默认为false):指定Hibernate除非确定对象真正被修改了(如果该值为true-译注),否则不会执行SQLUPDATE操作。在特定场合(实际上,它只在一个瞬时对象(transientobject)关联到一个新的session中时执行的update()中生效),这说明Hibernate会在UPDATE之前执行一次额

4、外的SQLSELECT操作,来决定是否应该执行UPDATE。where(可选)指定一个附加的SQLWHERE条件,在抓取这个类的对象时会一直增加这个条件。persister(可选):指定一个定制的ClassPersister。batch-size(可选,默认是1)指定一个用于根据标识符(identifier)抓取实例时使用的"batchsize"(批次抓取数量)。classoptimistic-lock(乐观锁定)(可选,默认是version):决定乐观锁定的策略。lazy(可选):通过设置lazy=“false”,

5、所有的延迟加载(Lazyfetching)功能将被全部禁用(disabled)。entity-name(可选,默认为类名):Hibernate3允许一个类进行多次映射(前提是映射到不同的表),并且允许使用Maps或XML代替Java层次的实体映射check(可选):这是一个SQL表达式,用于为自动生成的schema添加多行(multi-row)约束检查。rowid(可选):Hibernate可以使用数据库支持的所谓的ROWIDs,例如:Oracle数据库,如果你设置这个可选的rowid,Hibernate可以使用额外

6、的字段rowid实现快速更新。ROWID是这个功能实现的重点,它代表了一个存储元组(tuple)的物理位置。classsubselect(可选):它将一个不可变(immutable)并且只读的实体映射到一个数据库的子查询中。当你想用视图代替一张基本表的时候,这是有用的,但最好不要这样做。abstract(可选):用于在的继承结构(hierarchies)中标识抽象超类。对Hibernate映射来说视图和表是没有区别的,这是因为它们在数据层都是透明的4.2.1理解Java同一性和等同性3

7、种识别对象的方法:如果对象在JVM中占据着相同的内存位置,它们就是同一的。这可以通过使用==操作符进行检查。这个概念称作对象同一性。如果对象有着相同的值,它们就是相等的,如equals(Objecto)方法定义的一样。不显示覆盖这个方法的类,继承了由java.lang.Object定义的实现,它比较对象同一性。这个概念称作等同性。如果存储在一个关系数据库中的对象表示相同的行,或者它们共享相同的表和主键值,它们就是同一的。这个概念称作数据库同一性。4.2.2处理数据库同一性给实体添加标识符属性标识符属性很特殊——它的值

8、是由持久化实例表示的数据库行的主键值。通常生命setId()方法为私有,并让Hibernate生成和设置标识符值。或者,用直接的字段访问映射,并仅实现一个获取方法。(这个规则的例外是带有自然键的类,在这些类中,标识符的值在对象变成持久化之前由应用分配,而不是由Hibernate生成。)主键值永远不变,否则该属性将不是个适当的主键备选对象!映射标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。