天天看點

Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解釋

1、@JsonIgnoreProperties

此注解是類注解,作用是json序列化時将java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

寫法将此标簽加在model 類的類名上 ,可以多個屬性也可以單個屬性

//生成json時将name和age屬性過濾
@JsonIgnoreProperties({"name"},{"age"})
public class  user {
    private  String name;
    private int age;
}
           

2、@JsonIgnore

此注解用于屬性或者方法上(最好是屬性上),作用和上面的@JsonIgnoreProperties一樣。

生成json 時不生成age 屬性

public class user {
    private String name;
    @JsonIgnore
    private int age;
} 
           

3、@JsonFormat

此注解用于屬性或者方法上(最好是屬性上),可以友善的把Date類型直接轉化為我們想要的模式,比如@JsonFormat(pattern = “yyyy-MM-dd HH-mm-ss”)。

4、@JsonSerialize

此注解用于屬性或者getter方法上,用于在序列化時嵌入我們自定義的代碼,比如序列化一個double時在其後面限制兩位小數點。

5、@JsonDeserialize

此注解用于屬性或者setter方法上,用于在反序列化時可以嵌入我們自定義的代碼,類似于上面的@JsonSerialize

6、@Transient

有該注解的屬性表示該屬性并非一個到資料庫表的字段的映射,ORM架構将忽略該屬性;

如果一個屬性并非資料庫表的字段映射,就務必将其标示為@Transient,否則ORM架構預設其注解為@Basic;

參考:http://blog.csdn.net/u012373815/article/details/52266609