码迷,mamicode.com
首页 > Web开发 > 详细

(十一)Hibernate中的多表操作(1):单向一对多

时间:2017-05-14 18:05:11      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:member   new   span   自己   信息   str   加载   domain   它的   

技术分享

  



一、单向一对多()

  • 案例一(用XML文件配置): 一个会员(Member)可以有多个订单(Order),加载会员的时候自动加载订单,但是订单无法查看会员信息,
  public class Member  
    {  
        private String id;  
        private String name;  
        private Integer age;  
        private Set<Order> orders = new HashSet<Order>();    //该Set集合里存放的是“多”方,加载会员就会加载订单。
        ......  
    }  
 public class Order  
    {  
        private Integer id;  
        private String name;  
        private String num;  
        private String memberId;  // 外键,对应Membern类的主键即id
        ......  
    }  
  • 单向一对多的映射文件 :
 Member.hbm.xml:  
    <hibernate-mapping package="org.louis.domain">   
        <class name="Member" table="TEST_MEMBER">  
            <id name="id" column="ID">  
                <generator class="uuid.hex"></generator>  
            </id>  
            <property name="age" column="AGE"></property>  
            <property name="name" column="NAME"></property>  
            <!--set元素,就是定义一个集合,它的name属性值是对应的POJO中的相关属性名称-->  
            <set name="orders" cascade="all">  
                <key column="MEMBER_ID"></key><!--指定“多”的一段的外键,与“一”端得主键相关联,这里的column=“MEMBER_ID”是指数据库中的字段,而非bean中的属性-->  
                <one-to-many class="Order"/><!--指定了“多”端对应的类-->  
            </set>  
        </class>  
    </hibernate-mapping>  
Order.hbm.xml:  
    <hibernate-mapping package="org.louis.domain">  
        <class name="Order" table="TEST_ORDER">  
            <id name="id" column="ID">  
                <generator class="native"></generator>  
            </id>  
            <property name="name" column="NAME"></property>  
            <property name="num" column="NUM"></property>  
            <!--外键-->  
            <property name="memberId" column="MEMBER_ID"></property>  
        </class>  
    </hibernate-mapping>  

 

  • 本例的关联关系时单向,且关联关系由Member来维护(),而“多”的一方并不知道它自己和Member有任何关系。

 

(十一)Hibernate中的多表操作(1):单向一对多

标签:member   new   span   自己   信息   str   加载   domain   它的   

原文地址:http://www.cnblogs.com/shyroke/p/6853035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!