- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2007-02-05 23:10:55
大 中 小
属性1? unsaved-value:对级联对象进行数据保存时,Hibernate将根据这个值来判断对象是否需要保存;先从级联对象中取出id,如果id和 unsave-value值相等,则认为对象尚未保存,否则认为对象已经保存(这里的保存指的是insert,而不是update);在隐式保存的情况下,Hibernate用目标对象的id值和此值比较,如果相等则insert,否则不insert2? hbm.xml文件的class标签中有一个polymorphism=explicit属性,它的作用是:声明一个显式多态关系,声明为显式多态的类只有在代码中(如:list object=createQuery(from TuserProfile).list();这里显式指明了TuserProfile类)明确指定类名的时候才会返回此类实例;? 如果要返回对应整个数据库中所有库表记录的数据对象,可用: List obj=createQuery(from object).list();但不会返回在映射文件中具有polymorphism=explicit定义的类的实例3 inverse:用于在设置双向一对多关系时设置维护两个实体关系的一方,inverse=false的一方负责维护双方关系;在one-to-many关系中,常将many一方设为false方4 cascade:指的是当主控方执行操作时,关联对象(被动方)是否同步执行同一操作。例如对主控对象调用save-update或delete方法时, 是否同时对关联对象(被动方)进行sava-update或delete;设定为all则代表无论主控方执行任何操作 (Insert/update/delete...)都对其关联类时行同样的操作?????????? ;根据此属性的设置对相关联的对象采取相应的操作?? cascade=all-delete-orphan处理方式:?? 当保存当前对象时保存相关联的对象,相当于cascade=save-update?? 当删除当前对象时删除相关联的对象,相当于cascade=delete?? 当双方存在父子关系时,如果解除了子与父的关系则删除和父方解除关系的子方记录?(当关联双方存在父子关系时,就可以把父方的cascade设为all-delete-orphan)?5 在property标签中的access属性说明:?? 形式property name=name column=name access=field/property/? access默认为property,意思是:Hibernate不是直接访问持久化类中的name属性,而是访问setName()和getName()方法;? access=field,意思是:Hibernate不访问setName()和getName()方法,而是直接访问持久化类中的name属性6 hbm.xml文件的class标签中有一个polymorphism=explicit属性,它的作用是:声明一个显式多态关系,声明为显式多态的类只有在代码中(如:list object=createQuery(from TuserProfile).list();这里显式指明了TuserProfile类)明确指定类名的时候才会返回此类实例;? 如果要返回对应整个数据库中所有库表记录的数据对象,可用: List obj=createQuery(from object).list();但不会返回在映射文件中具有polymorphism=explicit定义的类的实例
? 方法1? 加载数据的get和load方法区别:?? a 如果未能发现符合条件的记录,get方法返回null,load方法抛出一个ObjectNotFoundException异常?? b load可以返回实体的代理类实例,get永远直接返回实体类??? 代理类实例:??? 实体类:?? c load要在内部缓存和二级缓存中搜索现有数据,get则仅在内部缓存中进行数据查找(根据id查找),如果在内部缓存中没有找到数据则直接从数据库中读取???? 内部缓存(一级缓存):其中保持了session当前所有关联实体的数据??? 二级缓存:存在于SessionFactory层次,由当前所有本SessionFactory构造的session实例共享2 session.find(hql,parameterValue,Hibernate Type of parametervlaue)和session.iterator(hql,parameterValue,Hibernate type of pa
文档评论(0)