Hibernate进行一对多,一对一,多对多配置

一对多:例如:一个老师对一个学生

一对一:例如:一个老师对应一个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();


   }



发布了3 篇原创文章 · 获赞 2 · 访问量 18

猜你喜欢

转载自blog.csdn.net/weixin_45400287/article/details/105029241