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

8 篇文章 0 订阅
7 篇文章 0 订阅

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

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


   }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值