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

多对多的实体映射实现.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  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的DAO组件实现“多对多”的关联映射一、实现“多对多”的关联映射的原理新增一张包含关联双方主键的关联表在取数据时,需要链接该关联表和数据表,优点是没有数据冗余,缺点是带来了一定的时限复杂度。多对多关联的实现方案类似一对多情形中的最常用方案,为关联的双方增加到对方的外键操作比较简单,缺点是会造成数据冗余;2、注意的问题(1)“多对多”由于使用了中间数据库表,在查询效率方面比较低(2)并且在对象模式上,“多对多”会使得对象与对象之间彼此依赖,因此该种设计并不是一个良好的设计方式(3)我们在系统的数据访问层的设计上应尽可能避免使用“多对多”关系。3、多对多的关联也同样可以采用Set、List等多种方式的属性标签基于中间连接表的多对多关联的映射文件的示例注意many-to-many标签的定义中间连接表1、设计本示例中所需要的数据库2、利用Hibernate连接数据库(1)方式一:采用直接连接(2)方式二:采用基于容器的JNDI数据源本例采用Tomcat中所提供的JNDI的数据库连接池二、在Web应用中实现数据库访问将Hibernate的库文件放到Web应用的/WEB-INF/lib目录中3、在Tomcat的server.xml文件进行配置配置Hibernate系统本例的XML格式的Hibernate配置文件文件的内容如下配置log4j.properties属性文件在Web应用所在的目录中添加数据库的JDBC驱动程序的各个*.jar包文件8、编写POJO类及其要求8、编写POJO类及其要求(1)POJO简单传统Java对象(POJO----PlainOldJavaObject,有时候也称作PlainOrdinaryJavaObjects)编程模型Hibernate使用简单的Java对象来进行持久化。(2)POJO类代码的风格要求一个POJO很类似于JavaBean的代码风格并且它应该有一个没有参数的构造函数(3)实体类中的标识属性id实体类中的id属性(property)为一个实体类的实例提供标识属性(identifierproperty)的值它是一个特殊的属性,代表了这个类的数据库标识符(主键)(4)本例中的实体类代码实体类中的equals方法如果我们有如下需求,则必须重载equals()方法:想把持久类的实例放入Set中(当表示多值关联时,推荐这么做)想重用脱管实例实现equals()最显而易见的方法是比较两个对象标识符的值。如果值相同,则两个对象对应于数据库的同一行,因此它们是相等的(如果都被添加到Set,则在Set中只有一个元素)。9、映射前面所设计的Book数据库表映射文件的作用Hibernate需要知道怎样去加载(load)和存储(store)我们的持久化类的对象。这里正是Hibernate映射文件(mappingfile)发挥作用的地方

映射文件告诉Hibernate它应该访问数据库里面的哪个表(table)和应该使用表里面的哪些字段(column)。命名规则:类名.hbm.xml(3)本示例中的映射文件的内容在某个Web应用中使用上面的程序编程基于Hibernate的DAO组件以进行数据的访问操作12、执行该Web应用将在浏览器中看到下面的执行结果同时,在数据库表中将出现下面的记录实现本例中的“多对多”实体之间的关联

在MSSQLServer的本例的数据库中增加一个数据库表BookAuthor2、决定BookAuthor和Book之间的关系3、新增一个BookAuthor类

并且在BookAuthor类增加一组Book,这样我们可以轻松的通过调用aPerson.getBooks()得到一个BookAuthor所拥有的Book列表,而不必执行一个显式的查询(一个单向的Set-based关联)。*

文档评论(0)

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

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

1亿VIP精品文档

相关文档