java培训-Hiernate的集合映射.docxVIP

  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文档。上传文档
查看更多
java培训-Hiernate的集合映射

Hibernate的集合映射本文主要针对Hibernate的Set、List、Array、Map、Bag五个集合映射进行详细的讲解。POJOs如下:Customer类----customer表Order类对应----orders表customer(1)-----(n)orderpublic?class?Customer ?{ ?????private?String?id; ?????private?String?username; ?????private?String?password; ?????private?Timestamp?registerTime; ?????private?int?age; ?????private?SetOrder?orders?=?new?HashSetOrder(); ??????/*setter?and?getter?method*/?}?public?class?Order ?{ ?????private?String?id; ?????private?String?orderNumber; ?????private?int?balance; ?????private?Customer?customer; ??????/*setter?and?getter?method*/?}?Set集合映射:Hibernate为集合映射提供了专用的标签元素,Set集合映射,就使用set标签表示:?xml?version=1.0?encoding=utf-8??!DOCTYPE?hibernate-mapping?PUBLIC?-//Hibernate/Hibernate?Mapping?DTD?3.0//EN ?????/hibernate-mapping-3.0.dtd????? ?????hibernate-mapping?????????class?name=com.suxiaolei.hibernate.pojos.Customer?table=customer?????????????!--?主键设置?--?????????????id?name=id?type=string?????????????????column?name=id/column?????????????????generator?class=uuid/generator?????????????/id????????????? ?????????????!--?属性设置?--?????????????property?name=username?column=username?type=string/property?????????????property?name=password?column=password?type=string/property?????????????property?name=age?column=age?type=integer/property?????????????property?name=registerTime?column=register_time?type=timestamp/property????????????? ?????????????set?name=orders?inverse=true?cascade=all?????????????????key?column=customer_id/key?????????????????one-to-many?class=com.suxiaolei.hibernate.pojos.Order/?????????????/set????????? ?????????/class?????/hibernate-mapping?set标签中的name属性表示customer对象中关系集合的属性名,inverse与cascade属性说明(参考这里)。在数据库中表示一对多的关系是通过外键关联的方式实现的,多方通过持有一方的主键值来确定关系,怎么持有一方的主键值?多方将使用一列来存储一方的主键值,然后将此列作为外键列参照一方的主键列。所以使用Hibernate开发时需要将两表的关系列(外键列)告诉Hibernate,key column=customer_id/key就是完成这个工作的,Hibernate就能根据 customer_id列取出关联信息。例如:从customer表中取出一条记录后,Hibernate会根据该customer记录的主键值再从order表中查找custom_id列,取出值相等的记录,然后组装到Customer对象中的set集合属性中,反之亦然。因为取出来的记录(只是一些零碎的值,还没有组装成对象

文档评论(0)

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

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

1亿VIP精品文档

相关文档