@JsonInclude(JsonInclude.Include.NON_NULL) 值為null的字段不參與序列化
@JsonIgnore 每次json處理都忽略該屬性
eg:
package com.example.demo.model; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.*; import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; import java.util.Date; @Entity @Table(name = "users") @Data @Builder @ToString(callSuper = true) @NoArgsConstructor @AllArgsConstructor @JsonInclude(JsonInclude.Include.NON_NULL) public class Users { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; private String name; private int age; @JsonIgnore @Column(updatable = false) @CreationTimestamp private Date createTime; }
補充:
(1)為日期指定json時的格式
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
(2)@CreationTimestamp 及 @UpdateTimestamp 是Hibernate 提供的時間注解
(3)@Column(nullable = false, updatable = false) 不能為空,不能修改