2015-02-24 145 views
0

我使用冬眠應用實體持久性與Spring MVC的一起我有一個應用程序中的實體多@Transient領域,是有沒有辦法告訴JSON分析器自動忽略實體中的所有@Transient註釋字段而不需要使用@JsonIgnore或@JsonIgnoreProperties期間JSON序列自動忽略實體的@Transient領域

+0

'@ Transient'是指示場不持久。 '@ JsonIgnore'指示該字段將被序列化/反序列化處理器忽略,它們具有非常不同的含義。 – ikumen 2015-02-24 21:20:20

+0

我知道,但我想要一種方法來自動忽略所有瞬態字段,而無需在文件中添加@JsonIgnore – 2015-02-24 21:23:20

+0

爲什麼你不想要用戶@JsonIgnore?這有一個堅實的理由嗎? – 2015-09-22 08:47:21

回答

0

@Transient用於指示該字段不是持久的。 @JsonIgnore是指示字段是由序列化/反序列化處理器被忽略,它們具有非常不同的含義。

一種選擇是從可用字段(vs getter/setters)獲得Json處理器基本串行/反序列化,然後使用其他transient關鍵字標記@Transient字段。如果你有getters/setter,你還需要添加適當的可見性規則。例如,這將序列化所有未標記爲transient的字段。

@JsonAutoDetect(fieldVisibility=Visibility.ANY, getterVisibility=Visibility.NONE, setterVisibility = Visibility.NONE) 
+0

我試過,但這個隱藏一切,除了短暫的領域 – 2015-02-24 21:33:17

+0

對不起被打斷,因爲我重新寫答案。我忘了包含fieldVisibility = Visibility.ANY – ikumen 2015-02-24 21:40:21