hibernate 的多对多2

  1. 数据库的多对多
    1.1 数据库中不能直接映射多对多
    处理:创建一个桥接表(中间表),将一个多对多关系转换成两个一对多
/**
填写书本信息,勾选复选框类别,提交
jdbc:boolDao.add, bookCategoryDao.add(中间表调用,建立联系)
hibernate:bookDao.add
四种做法
讲解inverse属性    两种是正确的
1.   true   false
2.   false   true 


book。hbm:false
category.hbm:true
代表的意思是:将关系维护的责任交给book 



//注意hibernate通过管理持久态对象来操作数据库

public coid testAdd(){
  Book book=new Book():
 book.setBookName(""圣墟);
 Category   category=new Category()
 category.setCategoryId(7);
 book.getCategories().add(this.categoryDao.get(category));
this.bookDao.save(book);

}

2.这种添加方式不可行
book.hbm:false
category.hbm:true
代表的意思是:将关系(中间表)维护的责任交给book
public coid testAdd2(){
   Category   category=new Category()
 category.setCategoryName("言情");
 Book book=new Book():
 book.setBookId(5);
category.getBooks().add(this.bookDao.get(book));
this.categoryDao.save(category);
}
3.
book.hbm:true
category.hbm:true
  出现的情况:中间表无对象维护

/

删除
1、接触关联关系(先删除中间表的引用数据)
2.、再去删除主表信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值