假定建立了从Category(商品类别)类和Item(商品)类的双向多对多关联。在Category类中需要定义集合类型的items属性,并且在Item类也需要定义集合类型的categories属性。下图显示了Category类和Item类的关联关系。

下图显示了CATEGORIES表、ITEMS表和CATEGORY_ITEM表的结构。

在Category类中,映射items属性的代码如下所示:

@ManyToMany(cascade=CascadeType.PERSIST)@JoinTable(  name="CATEGORY_ITEM",  joinColumns=@JoinColumn(name="CATEGORY_ID"),  inverseJoinColumns=@JoinColumn(name="ITEM_ID"))private Set<Item> items=new HashSet<Item>();

在Item类中,映射categories属性的代码如下所示:

@ManyToMany(mappedBy="items")private Set<Category> categories=new HashSet<Category>();

对于双向多对多关联关系中,需要把一方设为被动方。在本范例中,Item类是被动方,它的@ManyToMany注解设置了mappedBy属性。

在BusinessService类中,同时建立了从Category到Item,以及从Item到Category的关联关系:

Item item1=new Item("NEC500",1000);Item item2=new Item("BELL4560",1800);Category category1=new Category();category1.setName("CellPhone");//建立Category和Item的双向关联关系category1.getItems().add(item1);category1.getItems().add(item2);item1.getCategories().add(category1);item2.getCategories().add(category1);

下图显示了以上程序建立的Category对象与Item对象的关联关系。

©著作权归作者所有:来自51CTO博客作者孙卫琴的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. 小白前端入门笔记(10),怎么设置网站内部的超链接?
  2. 把一个"结构体"当做属性后碰到的问题
  3. 实例演示,v-if,v-for,v-model,v-bind,v-on,计算属性和侦听器属性
  4. 使用 IntraWeb (20) - 基本控件之 TIWGrid
  5. Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数
  6. Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找
  7. CSS样式规则-CSS结构的特点
  8. css详解background八大属性及其含义
  9. css详解position五种属性用法及其含义

随机推荐

  1. mysql关闭与删除bin-log日志详解
  2. 如何在postgres中更新时间戳字段的一部分
  3. SQL Server 2008 数据库镜像部署实例之三
  4. SQL Server表中某些字段含有水平制表符、
  5. Mysql中使用树的设计
  6. 数据库事务——还是这是一个规范化问题?
  7. fmdb 数据库升级1-----增加表字段
  8. CentOS 7下升级MySQL5.7.23的一个坑
  9. mysql根据查询结果创建表
  10. 报错pymysql.err.DataError: (1406, "Dat