**实体类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>