首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate征程(六)之数量和关系映射

2013-10-15 
Hibernate征途(六)之数量和关系映射本来如果和关系模型一样,只需要一对一、一对多、多对多映射就够了,但是前

Hibernate征途(六)之数量和关系映射

    本来如果和关系模型一样,只需要一对一、一对多、多对多映射就够了,但是前面《Hibernate征途(四)之映射 序》中说到,对象模型中关联是有方向的,所以对一对多而言,就会产生一对多还是多对一的问题,同时一种映射会产生两种方向,简单罗列一下如下:

多对一映射一对一单向主键映射一对一双向主键映射一对一单向唯一外键关联一对一双向唯一外键关联一对多单向关联一对多双向关联多对多单向关联多对多双向关联

    鉴于前面提到的理由,我不会对每个映射细粒度分析,以下我们从类属性、映射文件、数据库表来解释一下这些映射。

方向

    上面罗列的映射都提到方向的问题,在前面的博客中提到对象模型的关联是有方向的,也对这种方向做了简单的阐述,下面我们用班级Classes和学生Student两个类来说明一下方向:

    无方向

    Student

<hibernate-mapping ><class name="com.tgb.hibernate.User" table="t_user" ><id name="id"><generator class="native" /></id><property name="name" /><set name="roles"  table="t_user_role"><key column="user_id" /><many-to-many class="com.tgb.hibernate.Role" column="role_id" /></set></class></hibernate-mapping>

    在多对多中,把关系表与其中一张实体表理解成多对一的关系,更有助于理解。

总结

    这篇博客没有针对每种映射说明,只是抽象出这些数量和方向型映射的共性,希望可以给大家一些理解的思路。下篇博客介绍组合主键映射和集合映射。

热点排行