问题:
某项目的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个工程的缓存应该分开,耦合两个工程的缓存设计不合理。