Hibernate中单向多对一映射

博客提及了Customer类、Order订单类,以及Customer和Order的映射文件,包括Customer.hbm.xml、Order.hbm.xml,还有hibernate.cfg.xml,主要围绕Hibernate相关配置展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**实体类Customer和Order类,一个用户Customer可以有多个订单Order**

Customer类

package zhang.hibernate.manyto1.enities;
public class Customer {
	private Integer customerId;
	private String customerName;
	public Integer getCustomerId() {
		return customerId;
	}
	public void setCustomerId(Integer customerId) {
		this.customerId = customerId;
	}
	public String getCustomerName() {
		return customerName;
	}
	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}
	@Override
	public String toString() {
		return "Customer [customerId=" + customerId + ", customerName=" + customerName + "]";
	}
}

Orde类:订单类多的一方

package zhang.hibernate.manyto1.enities;
public class Order {
	private Integer orderId;
	private String orderName;
	private Customer customer;
	public Integer getOrderId() {
		return orderId;
	}
	public void setOrderId(Integer orderId) {
		this.orderId = orderId;
	}
	public String getOrderName() {
		return orderName;
	}
	public void setOrderName(String orderName) {
		this.orderName = orderName;
	}
	public Customer getCustomer() {
		return customer;
	}
	public void setCustomer(Customer customer) {
		this.customer = customer;
	}
	@Override
	public String toString() {
		return "Order [orderId=" + orderId + ", orderName=" + orderName + "]";
	}
}

Customer和Order的映射文件.hbm.xml

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">
    <!-- Generated 2019-5-5 16:17:52 by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="zhang.hibernate.manyto1.enities.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="CUSTOME_RNAME" />
            </property>
        </class>
    </hibernate-mapping>

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">
<!-- Generated 2019-5-5 16:17:52 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="zhang.hibernate.manyto1.enities.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="zhang.hibernate.manyto1.enities.Customer" column="CUSTOMER_ID" ></many-to-one>
    </class>
</hibernate-mapping>

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
    <property name="connection.username">root</property>
    <property name="connection.password">zhangyukang</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
    
    
   <!-- 所使用的数据库方言 -->
	<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="hbm2ddl.auto">update</property>
    
    <!-- 单向多对一映射
    <mapping resource="zhang/hibernate/manyto1/enities/Customer.hbm.xml"/>
    <mapping resource="zhang/hibernate/manyto1/enities/Order.hbm.xml"/>
     -->
   <!-- 双向多对一映射 -->
   <!-- 
   <mapping resource="zhang/hibernate/onetomanyboth/entiies/Customer.hbm.xml"/>
   <mapping resource="zhang/hibernate/onetomanyboth/entiies/Order.hbm.xml"/>
    -->
   <!-- 基于外键的一对一映射 -->
   <!-- 
   <mapping resource="zhang/hibernate/one2one/enity/Manager.hbm.xml"/>
   <mapping resource="zhang/hibernate/one2one/enity/Department.hbm.xml"/>   
    -->
   <mapping resource="zhang/hibernate/one2n/enties/Father.hbm.xml"/>
   <mapping resource="zhang/hibernate/one2n/enties/Son.hbm.xml"/>
   <!-- 基于主键的外键一对一映射
   <mapping resource="zhang/hibernate/one2one/foreigne/enities/Dog.hbm.xml"/>
   <mapping resource="zhang/hibernate/one2one/foreigne/enities/Host.hbm.xml"/>
   <mapping resource="zhang/hibernate/subclass/entitys/Person.hbm.xml"/>
    -->
    </session-factory>
</hibernate-configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值