activiti 流程框架 保存流程变量 获取流程变量打印问题 toString

来源:互联网 发布:恩牛网络怎么样 编辑:程序博客网 时间:2024/06/20 01:43

简单描述一下进遇到的文件:

使用acitivi 流程框架,对流程变量保存获取操作的时候(对表act_ru_variable的操作),发现了以下问题:

向表中保存一个对象,然后获取这个对象的时候想把这个对象打印出来,

可是:

打印出来的是地址

好,肯定是实体类中没有写toString 方法,在实体类中添加了toString 方法后

问题来了: 

获取不到这个对象了,连对象的地址也部打印了。

猜想是我toString 的方法有问题(是修改了这个方法),再把toString 注释掉,

又打印的是对象的地址,再小心的添加toString方法。还是上面一样的文件。


确定不是toString 方法的文件后,问题依然存在,

后来猜测activiti 在保存流程变量的时候是根据什么保存的呢? 

许就是根据实体类的toString 的方法保存数据,

第一,在没有写toString 的时候使用的是默认的toString 方法(也就是对象的地址),所以在打印的时候打印的是地址。

第二,后来添加了toString 方法,而之前保存的对象是没有添加toString时的对象,

   在获取这个对象后打印的时候会根据之后添加toString的方法打印。

  而这个时候什么也没有。


最后添加toString 方法之后在添加对象到数据库的act_ru_variable表中,

获取对象---打印  一切正常  证明自己的猜测是对的!!!!


总结:

1、activiti 流程框架保存流程变量(对象)时,对应的实体类需要继承序列化。

2、在使用activiti流程框架保存流程变量(对象)的时候,要提前把toString写好。

0 0
原创粉丝点击