数据库两个表order,customer
create table `test`.`customer`(
`cid` int not null auto_increment comment 'auto_increment',
`cname` varchar(20),
primary key (`cid`)
);
create unique index `PRIMARY` on `test`.`customer`(`cid`);
create table `test`.`order`(
`oid` int not null auto_increment comment 'auto_increment',
`odis` varchar(500),
`cid` int,
primary key (`oid`)
);
create unique index `PRIMARY` on `test`.`order`(`oid`);
index.jsp
<body>
<a href="servlet/addOrders">add orders</a>
</body>
addOrders.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Customer customer=new Customer();
customer.setCname("rockie");
CDAO cdao=new CDAO();
cdao.save(customer);
Order order1=new Order();
Order order2=new Order();
Order order3=new Order();
order1.setCustomer(customer);
order2.setCustomer(customer);
order3.setCustomer(customer);
order1.setOdis("aaaa");
order2.setOdis("bbbb");
order3.setOdis("cccc");
ODAO odao=new ODAO();
odao.save(order1);
odao.save(order2);
odao.save(order3);
}
Customer.java
package org.rockie;
import java.util.HashSet;
import java.util.Set;
/**
* Customer generated by MyEclipse - Hibernate Tools
*/
public class Customer implements java.io.Serializable {
// Fields
private Integer cid;
private String cname;
private Set orders=new HashSet();
// Constructors
public Set getOrders() {
return orders;
}
public void setOrders(Set orders) {
this.orders = orders;
}
/** default constructor */
public Customer() {
}
/** full constructor */
public Customer(String cname) {
this.cname = cname;
}
// Property accessors
public Integer getCid() {
return this.cid;
}
public void setCid(Integer cid) {
this.cid = cid;
}
public String getCname() {
return this.cname;
}
public void setCname(String cname) {
this.cname = cname;
}
}
Order.java
package org.rockie;
/**
* Order generated by MyEclipse - Hibernate Tools
*/
public class Order implements java.io.Serializable {
// Fields
private Integer oid;
private String odis;
private Customer customer;
// Constructors
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
/** default constructor */
public Order() {
}
/** full constructor */
public Order(String odis, Integer cid) {
this.odis = odis;
}
// Property accessors
public Integer getOid() {
return this.oid;
}
public void setOid(Integer oid) {
this.oid = oid;
}
public String getOdis() {
return this.odis;
}
public void setOdis(String odis) {
this.odis = odis;
}
}
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">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="org.rockie.Order" table="order" catalog="test">
<id name="oid" type="java.lang.Integer">
<column name="oid" />
<generator class="native" />
</id>
<property name="odis" type="java.lang.String">
<column name="odis" length="500" />
</property>
<many-to-one name="customer" class="org.rockie.Customer" column="cid"></many-to-one>
</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">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="org.rockie.Customer" table="customer" catalog="test">
<id name="cid" type="java.lang.Integer">
<column name="cid" />
<generator class="native" />
</id>
<property name="cname" type="java.lang.String">
<column name="cname" length="20" />
</property>
<set name="orders" cascade="all" table="order" inverse="true">
<key column="cid"></key>
<one-to-many class="org.rockie.Order"/>
</set>
</class>
</hibernate-mapping>
CDAO.java
package org.rockie;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class CDAO {
public void save(Customer customer)
{
Session session=HibernateSessionFactory.getSession();
Transaction tx=session.beginTransaction();
session.save(customer);
tx.commit();
}
}
ODAO.java
package org.rockie;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class ODAO {
public void save(Order order)
{
Session session=HibernateSessionFactory.getSession();
Transaction tx=session.beginTransaction();
session.save(order);
tx.commit();
}
}








