Order类定义一个 Set products = new HashSet(); 用于建立Order和Product之间的关联(单向的)
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
public class Order implements Serializable{
private int id;
private String name;
private String phone;
private Set products = new HashSet();
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getPhone() {
return phone;
}
public Set getProducts() {
return products;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setPhone(String phone) {
this.phone = phone;
}
public void setProducts(Set products) {
this.products = products;
}
}
Product类, 什麽都不关联
/**
* 具体的商品表(单向的多对多所以此类不关联Order)
* @author Administrator
*
*/
public class Product implements Serializable{
private int id;
private String name;
private Double price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
}
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.lbx.model">
<class name="Order" table="orders" lazy="true">
<id name="id" type="int" column="ID">
<generator class="increment"/>
</id>
<property name="name" type="java.lang.String" column="NAME"/>
<property name="phone" type="java.lang.String" column="PHONE"/>
<set name="products" table="ORDERRITEM">
<key column="order_id" />
<many-to-many class="com.lbx.model.Product" column="product_id"/>
</set>
</class>
</hibernate-mapping>
Product.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.lbx.model">
<class name="Product" table="product" lazy="true">
<id name="id" type="int" column="ID">
<generator class="increment"/>
</id>
<property name="name" type="java.lang.String" column="NAME"/>
<property name="price" type="java.lang.Double" column="PRICE"/>
</class>
</hibernate-mapping>