基于EO的VO,作为Lov的数据源时,有可能导致返回值为空的情况

近日需要修改一个ActivityName字段的lov,要增加ActivityType字段的返回值。

 

首先找到lov对应的View Accessor:ExpsBraActivityBraVO,发现该VO没有需要返回的ActivityType字段,于是编辑查询,添加了该字段

然后在Lov的返回值列表上做了关联。

 

然而在实际运行过程中发现,Lov返回时,ActivityType字段的值总是被赋了null值。仔细检查了整个VO,仍然未果。

 

后来考虑到是否问题出现在Lov的值集上,仔细检查了ExpsBraActivityBraVO,发现该VO是基于EO的,ActivityName和ActivityId都是基于EO的,而增加的字段ActivityType却是Calculated类型的字段,非基于EO的。

 

基于EO的VO,作为Lov的数据源时,有可能导致返回值为空的情况_第1张图片

 

为了确定是否由于这个原因造成的,做了以下测试:1、把ActivityType字段从Attributes tab页去掉,同时把Query中出现的ActivityType 也去掉;2、在Attributes Tab页,点击Add from Entity把ActivityType字段添加进来;

基于EO的VO,作为Lov的数据源时,有可能导致返回值为空的情况_第2张图片

 

3、在Query Tab 添加关于ActivityType的查询

 

在做完上述操作后,发现Lov的返回值是正确的,虽无法解释为何会出现这种情况,有一点需要注意的就是,对于基于EO的VO,务必使得Attributes与EO上保持一致,如此方能避免一些不可预知的问题。

你可能感兴趣的:(基于EO的VO,作为Lov的数据源时,有可能导致返回值为空的情况)