多对多三个表
作者:互联网
- 3. 多对多关系注意事项
- 3.1 一定要定义一个主控方
- 3.2 多对多删除
- 3.2.1 主控方直接删除
- 3.2.2 被控方先解除多对多关系,再删除
- 3.2.3 禁用级联删除
- 3.3 关联关系编辑,不需要直接操作桥接表,hibernate的主控方会自动维护
- 数据库中不能直接映射多对多
- 处理:创建一个桥接表(中间表),将一个多对多关系转换成两个一对多
- 实体类的编写
- 书本实体类的编写(Book)
- private Integer bookId;
- private String bookName;
- private Duble price;
- pirvate Set<Category> categorys=new HashSet<>();
- 对应的映射文件
- 主要代码解释
- table对应数据库的表
- <set name="categorys" table="tt_book_category" cascade="save-update>
- <key column="bid"></key>
- <many-to-many colimn="cid" class="com.zking.entity.Category"></many-to-many>声明对应桥接表中的哪个字段
- </set>
- 书本种类的编写(Category)
- private Integer categoryId;
- private String categoryName;
- private Set<Book> books=new HashSet<>();
- 对应的映射文件
- <set name="books" table="tt_book_category" cascade="save-update">
- <key column="cid"></key>
- <many-to-many column="bid" class="com.zking.entity.Book"></many-to-many>
- </set>
- 桥接表
- 桥接表是不需要实体类的
标签:实体类,删除,桥接,private,三个,主控,3.2 来源: https://blog.csdn.net/andrew_dear/article/details/121095311