@JsonIgnore引起的相关字段无法存入数据库问题
在开发时,@JsonIgnore添加在实体类相关属性上(如password),防止前端页面可以查询到这些关键数据,但同时也会使得相关的修改无法存入数据库,这时候应该将@JsonIgnore添加在getter方法上,同时在setter方法上添加@JsonProperty注解,这样既可以做到相关属性不暴露在前端,同时数据库能够接收相对应的更新。
以下是@JsonIgnore的注释
Annotation only needs to be added to one of the accessors (often getter method, but may be setter, field or creator parameter), if the complete removal of the property is desired. However: if only particular accessor is to be ignored (for example, when ignoring one of potentially conflicting setter methods), this can be done by annotating other not-to-be-ignored accessors with JsonProperty (or its equivalents).
我们可以从中发现,在字段上或者getter上添加@JsonIgnore注解,都会使得该字段被完全忽略,如果想指定不被忽略的方法,需要在其上加上@JsonProperty注解。