随笔-9  评论-168  文章-266  trackbacks-0
        在多对一和一对多的映射中.如一个部门对应多个人员,既可以看成是多个人员对应一个部门.所以在一对多或多对一映射关系中,没有区别.
以多对一映射文件说明:
        多的一方,如人员持久化类映射文件需加入多对一元素:  <many-to-one class="部门类" colum="外键" />    //外键的定义方式,代替<property />定义.
        一的一方,如部门持久化类映射文件.由于为了体现一一对应的原则(个人理解),需把多的一方映射为一个集合(因为一的一方要把多的一方看成一个整体,所以集合当然就放在一的一方.) , 需加入:
        <set name="集合名"/>                                                              //集合中name 属性必须.
           <key>   <colum name="外键" not-null="true/>  </key>          //在集合中指定多的一方的外键元素(集合中两个子元素的一个),不代替<property />定义.
           <one-to-many class="人员类" />                                                        //一对多元素(集合中两个子元素的一个).
        </set> 
                                    (有外键的那一方,即为多方)   (持久化即序列化)

        多对多的映射讲解:
        多对多的映射文件中,由于JAVA类无法表示多对多的映射,所以把他们分解成两个多对一/一对多,在中间引入一个JAVA BEAN 对象进行关联.这个中间BEAN除了主键用<id />定义,其他属性由于均为外键,所以采用外键定义方式---<many-to-one />.


以上讲解有问题.举的例子是一对多的.多对一比一对多简单些.
posted on 2008-03-17 10:50 紫蝶∏飛揚↗ 阅读(952) 评论(0)  编辑  收藏 所属分类: Hibernate

只有注册用户登录后才能发表评论。


网站导航: