我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合开奖 > 多对多联系 >

Spring配置映射关系时一对多、多对一和多对多关联到底有何区别可

归档日期:07-06       文本归类:多对多联系      文章编辑:爱尚语录

  Spring配置映射关系时一对多、多对一和多对多关联到底有何区别,可否互相取代

  Spring配置映射关系时一对多、多对一和多对多关联到底有何区别,可否互相取代

  我们老师曾说最好都配置成多对一,这样能提高效率。但是我很疑惑,如果这种多对一足以取代其他关联方式,且优势明显,那何故还要其他的关联方式?其他的关联方式肯定有它的作用只是我...

  我们老师曾说最好都配置成多对一,这样能提高效率。但是我很疑惑,如果这种多对一足以取代其他关联方式,且优势明显,那何故还要其他的关联方式?其他的关联方式肯定有它的作用只是我没遇到,到底什么情况下能用到?希望高手不要给我抽象的概念,正因为对这些概念产生疑问才来提问,最好举些实例。盼高手解答,不胜感激

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  1你的问题应该是数据库设计方面的,至少是Java框架中的持久层框架中的概念,与Spring好像没什么关系.

  2计算机软件是为了解决某一领域问题而设计的.所以领域问题的环境,使用情况,都影响着软件设计.例如一本书这个对象在不同的语境环境下就与其它事或物有不同的关系.

  (a)你有一本java编程思想,那么这种关系应该是:一对一.但是你一定还有其它的图书高等数学操作系统等,所以关系统应该是:一对多. 注意:重要的是我们思考问题的范围,或者叫做说话的语境,我们目前谈论的都是在人与自己的书这个语境下的.

  (b)如果是人与图书馆的书这个语境,刚才的一对多就有问题了.因为1个人可以借阅许多书,一本书如果不是在同一时间就可以借给许多人.所以在数据库表中设计时就应该是多对多.假设我们现在给这个数据库表取名为T_学生借书记录,但是只用这张表是不够的,为什么?因为至少要有T_图书和T_同学这两张表来存储基本信息.

  你想一下这三张表是必须的,不能多,也不能少.实现上T_学生借书记录这张表有一个名词叫分解实体/关联表(UML中叫关联类).

  因为关系数据库系统无法保存多对多的联系,所以必须把多对多转换成1对多,请看T_同学与T_学生借书记录的关系就是一对多.

  因为一个学生可以多次借书, T_图书与T_学生借书记录的关系也是一对多.因为一本书在不同时间可以被许多人借阅.

  实际上一对多与多对一这两个说法只是对一种关系的两种不同说话方式而已.例如,假设你有100本书.在这个语境下分析下面两句话你有许多书与这些书都是你的,这两名话的区别是什么?只是在一句话中主对象与从对象不同而已,而人与书的关系是不变的 也就是说在数据库中的两张表A和B是一对多的关系,与B和A是多对一的关系,是一样的.

本文链接:http://ecolivinginc.net/duoduiduolianxi/965.html