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

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

使用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写好。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值