Hibernate一对多关联双向关联代码实现分享

所属分类: 软件编程 / java 阅读数: 71
收藏 0 赞 0 分享

1、创建实体类(Customer.java、Orders.java)

复制代码 代码如下:

package wck.stu.vo.oneToMany_single;

import java.util.HashSet;
import java.util.Set;

public class Customer {
    private String id = "";

    private String cName = "";

    private String bank = "";

    private String phone = "";

    private Set orders = new HashSet();

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getcName() {
        return cName;
    }

    public void setcName(String cName) {
        this.cName = cName;
    }

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Set getOrders() {
        return orders;
    }

    public void setOrders(Set orders) {
        this.orders = orders;
    }

   
}

Customer.java

复制代码 代码如下:

package wck.stu.vo.oneToMany_single;

public class Orders {
    private String id = "";

    private String orderNo = "";

    private Double money = 0.0;

    private Customer customer;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    public Customer getCustomer() {
        return customer;
    }

    public void setCustomer(Customer customer) {
        this.customer = customer;
    }
}

Orders.java

2、配置文件(Customer.hbm.xml、Orders.hbm.xml)

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="wck.stu.vo.oneToMany_single.Customer" table="CUSTOMER">
        <id name="id" type="java.lang.String">
            <column name="C_ID" length="32" not-null="true"></column>
            <generator class="uuid.hex"></generator>
        </id>
        <property column="CNAME" name="cName" type="string" length="100"/>
        <property column="BANK" name="bank" type="string" length="100"/>
        <property column="PHONE" name="phone" type="string" length="20"/>
        <!--一对多双向关联映射customer到orders,单的一方配置 -->
        <set cascade="all" inverse="true" lazy="false" name="orders">
            <key column="CUSTOMER_ID" />
            <one-to-many class="wck.stu.vo.oneToMany_single.Orders" />
        </set>
    </class>
</hibernate-mapping>

Customer.hbm.xml

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="wck.stu.vo.oneToMany_single.Orders" table="ORDERS">
        <id name="id" type="java.lang.String">
            <column name="C_ID" length="32" not-null="true"></column>
            <generator class="uuid.hex"></generator>
        </id>
        <property column="ORDERNO" name="orderNo" type="java.lang.String" length="17"/>
        <property column="MONEY" name="money" type="java.lang.Double" />
        <many-to-one name="customer" class="wck.stu.vo.oneToMany_single.Customer" column="CUSTOMER_ID" cascade="all" lazy="false" not-null="true"/>
    </class>
</hibernate-mapping>

Orders.hbm.xml

3、测试代码

复制代码 代码如下:

public String saveCustomerInfo() {
        Customer customer = new Customer();
        customer.setcName("清华大学出版社");
        customer.setBank("9559501012356789");
        customer.setPhone("010-62772015");   
        Orders order = new Orders();
        order.setOrderNo(new Long(System.currentTimeMillis()).toString());
        order.setMoney(new Double(rnd.nextDouble()*10000));
        order.setCustomer(customer);
        customer.getOrders().add(order);
        oneToManyDao.saveCustormerInfo(customer);
        return customer.getId();
    }

更多精彩内容其他人还在看

Javaweb 鼠标移入移出表格颜色变化的实现

这篇文章主要介绍了Javaweb 鼠标移入移出表格颜色变化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java 实现图片压缩的两种方法

这篇文章主要介绍了Java 实现图片压缩的两种方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

据说这个是可以撸到2089年的idea2020.2(推荐)

这篇文章主要介绍了据说这个是可以撸到2089年的idea2020.2,本教程给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

这篇文章主要介绍了一篇文章带你搞定SpringBoot不重启项目实现修改静态资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

win10操作系统下重启电脑java环境变量失效

这篇文章主要介绍了win10操作系统下重启电脑java环境变量失效,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Java实现批量修改文件名和重命名的方法

这篇文章主要介绍了Java实现批量修改文件名和重命名的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

关于Java HashMap自动排序的简单剖析

这篇文章主要给大家介绍了关于Java HashMap自动排序的简单剖析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring中BeanFactory和ApplicationContext的作用和区别(推荐)

这篇文章主要介绍了Spring中BeanFactory和ApplicationContext的作用和区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java程序执行Cmd指令所遇问题记录及解决方案

这篇文章主要介绍了Java程序执行Cmd指令所遇问题记录,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

深入浅析jni中的java接口使用

这篇文章主要介绍了jni中的java接口使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多