zoukankan      html  css  js  c++  java
  • 映射:表之间的关联

    方法一:主要是set的设置

    Order.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
    <class name="com.cc.hibernate.entities.Order" table="ORDERS">
    <id name="orderId" type="java.lang.Integer">
    <column name="ORDER_ID" />
    <generator class="native" />
    </id>
    <property name="orderName" type="java.lang.String">
    <column name="ORDER_NAME"/>
    </property>
    <!-- 映射多对一的关联关系
    怎样设置关联关系,以及关联关系怎么设置
    -->
    <set name="customer" cascade="save-update" inverse="true">

    <key column="CUSTOMER_ID"></key>
    <one-to-many class="com.cc.hibernate.entities.Customer"/>
    </set>
    <!-- 映射多对一的关联关系
    <many-to-one name="customer" class="Customer" column="CUSTOMER_ID" />-->
    </class>
    </hibernate-mapping>

    Customer.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
    <class name="com.cc.hibernate.entities.Customer" table="CUSTOMER">
    <id name="customerId" type="java.lang.Integer">
    <column name="CUSTOMER_ID" />
    <generator class="native" />
    </id>
    <property name="customerName" type="java.lang.String">
    <column name="CUSTOMER_NAME"/>
    </property>

    </class>
    </hibernate-mapping>

    实现的效果是可以同时对两张表进行操作

    是单向多对一。

    单向n-1关联只需从n的一端可以访问1的一端

    域模型:从Order到Customer的多对一单向关联需要在Order类中定义一个Customer属性,而在Customer类中无需定义存放Order对象的集合属性

    关系数据模型:orders表中的customer_id参照customer表的主键

    方法二(只更改order.hbm.xml):

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="com.cc.hibernate.entities">
    <class name="Order" table="ORDERS">
    <id name="orderId" type="java.lang.Integer">
    <column name="ORDER_ID" />
    <generator class="native" />
    </id>
    <property name="orderName" type="java.lang.String">
    <column name="ORDER_NAME"/>
    </property>
    <!-- 映射多对一的关联关系 -->
    <many-to-one name="customer" class="Customer" column="CUSTOMER_ID"></many-to-one>
    </class>
    </hibernate-mapping>

  • 相关阅读:
    Linux下安装配置词典GoldenDict
    ubuntu 安装LaTex
    ubuntu 安装Opencv2.4.7
    Ubuntu 安装Matlab2010a
    Ubuntu 挂载ISO文件的方法
    ubuntu安装Java jdk1.7.0
    VDI转vmdk(VirtualBox与VMware硬盘格式转换)[转]
    oracle忘记密码,修改密码,解锁
    SQL Server 2008中文企业版下载地址和序列号[转]
    HTTP 错误 500.19 – Internal Server Error web.config 文件的 system.webServer/httpErrors 节中不允许绝对物理路径“C:inetpubcusterr”[转]
  • 原文地址:https://www.cnblogs.com/caocx/p/6243907.html
Copyright © 2011-2022 走看看