首页 > 学院 > 开发设计 > 正文

设置serialVersionUID,缓存里的新增字段被赋默认值

2019-11-06 06:52:18
字体:
来源:转载
供稿:网友

问题:

         某项目的game实体增加video_address_ali 字段,在运营后台赋值后,过5分钟,运营后台发现video_address_ali 字段值为空。

 

原因:

  (1)       game实体设置了serialVersionUID= 2011050316490000L;  

   (2)      运营后台获取的是缓存里的game对象,缓存时间为5分钟。5分钟过后,另一个工程的请求触发重新设置game实体缓存

                 由于serialVersionUID 使得缓存实体的新增字段 video_address_ali 为默认值(空字符串)。故运营后台获取到空的video_address_ali  值

 

解决办法:

   (1)运营后台获取实体,不从缓存获取,从数据库获取。

    (2)2个工程的缓存应该分开,耦合两个工程的缓存设计不合理。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表