
# 聚合
#### 什么是聚合
聚合关系本质上也是一种一对多关系，唯一不同的是聚合中次要方必须依赖首要方，任何对于次要方的操作首先要经过首要方才能继续往下操作。
图1聚合和一对多的差异   
![](https://support.huaweicloud.com/usermanual-astropro/zh-cn_image_0000001930747086.png)
#### 关系属性设置
在业务设计页面，拖入两个BO业务对象（命名为Bo1、Bo2）单击"relations"中的"聚合"，为对象建立聚合关系。选中已创建的关系，在右侧页面即可设置关系属性，如[图2]所示。
图2聚合   
![](https://support.huaweicloud.com/usermanual-astropro/zh-cn_image_0000002183479373.png)
- 关系名称：设置聚合关系的名称。
- 关系类型：根据创建的聚合关系自动生成。
- 关系首要方：根据创建的聚合关系自动生成。
- 关系次要方：根据创建的聚合关系自动生成。
- DTO暴露方式 - NESTED：是否设置DTO的NESTED（嵌套）能力。默认为生成DTO读写API。
  - 不设置：不生成NESTED。
  
  - 只生成DTO：只生成NESTED对象的类。
  
  - 生成DTO读API：只会生成一个get接口。
  
  - 生成DTO读写API：除了生成一个get接口，还会生成一个插入接口。
   
- DTO暴露方式 - CARTESIAN：设置DTO的CARTESIAN（笛卡尔积）能力。
  - 不设置：不生成CARTESIAN。
  
  - 只生成DTO：只生成CARTESIAN对象的类。
  
  - 生成DTO读API：只会生成一个get接口。
   
- 每个*Bo1* 关联最大*Bo2*数：一个首要方和次要方建立关联的数量上限。
- 每个*Bo1* 最大关联*Bo2*数：一个次要方和首要方建立关联的数量上限。
- 每个*Bo1* 关联最大*Bo2*维度上限预警值：首要方一条数据最多关联次要方多少条数据报出告警。
 
