问题描述:实体B的引用对象A不存在重现方式:B档案实体属性中有引用A档案,B档案在录入数据时使用了A档案中的某条记录并保存了,然后A档案人为删除了这条被B引入的数据记录,再次操作B档案保存操作时,即会出现此问题。问题分析:由于B档案在引用A档案后,在删除A档案时并未做相关的数据检查校验,B档案中引用A档案的属性值依然保留了下来,我们是基于元数据驱动的开发方式,在数据持久化时,底层会检查当前实体引用的其它档案数据是否存在,再去做持久化保存,因此我们需要做的是在A做删除时,校验是否有其它档案引用了A,如果有如何处理呢?解决方案:平台底层对此类问题已经做了相关支持,操作如下:1、设置级联删除:True,是否启用级职删除校验:True检验修改:True(当A档案发生变化时,即会进行数据检查)2、级联删除规则:选择NoAction即可;NoAction:保持不变,即不做处理,数据保留Cascade:级联删除,即删除B时,同时删除A(一般只在主子实体中这样设置)SetNull:清空属性值SetDefault:设置默认值最终效果如下:鼠标放到小红点上,即可显示错误信息,同时支持链接弹窗显示具体的引用对象数据列表注意:部分界面报错可能是枚举项引起,比如:实体字段类型为枚举,并且设置非空,默认为0,而枚举项脚本没有刷到枚举表中,导致实体去检查枚举项是否存在时,在枚举表中并未匹配到记录,引发错误;此时需要刷枚举才能解决,脚本见以下链接https://success.yonyou.com/community/knowledge?type=wiki&cid=d65f538614c87d47&mCid=d65f538614c87d47