一对多:例如:一个老师对一个学生
一对一:例如:一个老师对应一个vip学员
多对多:例如:多个老师对应多个学生
实例代码:
测试类:
@Test
public void testDemo1() {
//获取session
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
//定义一个客户
Student student = new Student();
student.setSname("赵云");
//定义两个订单
Orders orders1 = new Orders();
orders1.setAddr("成都");
Orders orders2 = new Orders();
orders2.setAddr("西凉");
//建立关系 说明此时订单1属于客户student 说明此时订单2属于客户student
orders1.setStu(student);
orders2.setStu(student);
student.getOrders().add(orders1);
student.getOrders().add(orders2);
session.save(student);
session.save(orders1);
session.save(orders2);
tx.commit();
session.close();
}
级联:
// 级联 需要在hbm.xml的set集合中配置以下 cascade="saveupdate"代码
@Test
public void testDemo2() {
//获取session
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
//定义一个客户
Student student = new Student();
student.setSname("赵云");
//定义两个订单
Orders orders = new Orders();
orders.setAddr("成都");
//对客户和订单进行关联关系
orders.setStu(student);
student.getOrders().add(orders);
session.save(student);
tx.commit();
session.close();
}