需求:调用修改用户密码接口需要把修改后的用户明文密码推送给其他系统,如果未推送成功,则先存储到redis中,再定时执行任务推送。为了方便使用数据,我们存储到redis中的数据为用户对象,而在数据库中存储的密码为经过md5加密的密码,而我们需要推送用户明文密码。
我们在实体类中加入不存入数据库的属性,这个属性的值为密码明文就可以了。
这个属性需要加上注解:
如果你使用的是hibernate,则用@Transient
如果你使用的是mybatis,则用
@TableField
@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。
@TableField(exist = true):表示该属性为数据库表字段。