其他分享
首页 > 其他分享> > 多对多三个表

多对多三个表

作者:互联网

  • 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