关于@Column注解和@JsonProperty注解的区分
- @Column注解:
声明该属性与数据库字段的映射关系
比如:变量名为 createTime, 希望JPA自动对应到数据库的 create_time 字段,可以使用 @Column 注解。
@Column(name = "create_time")
public Timestamp getCreateTime() {
return createTime;
}
2.@JsonProperty注解:
此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(“name”)。
对属性名称重命名,比如在很多场景下Java对象的属性是按照规范的驼峰书写,但在数据库设计时使用的是下划线连接方式,此处在进行映射的时候
就可以使用该注解。主要是jackson在把对象转换为json串时起作用。比如:变量名为userName,希望jackson在把对象转换为json串时变为 user_name。可以使用@JsonProperty注解。
@JsonProperty("user_name")
private String userName;