在json序列化期间自动忽略实体的@Transient字段

时间:2015-02-24 20:47:15

标签: java spring hibernate spring-mvc jackson

我在应用程序中使用hibernate for entity persistance和spring mvc我在应用程序中的实体中有多个@Transient字段有一种方法可以告诉Json解析器自动忽略实体中的所有@Transient注释字段而不需要使用@JsonIgnore或@JsonIgnoreProperties

2 个答案:

答案 0 :(得分:0)

@Transient表示该字段不是持久的。 @JsonIgnore表示序列化/反序列化处理器将忽略该字段,它们具有非常不同的含义。

一个选项是从可用字段(vs getter / setter)中选择Json处理器串行/反序列化,然后使用其他transient关键字标记@Transient字段。如果您有getter / setter,则还需要添加适当的可见性规则。例如,这将序列化所有未标记为transient的字段。

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

答案 1 :(得分:0)

我找到了一种更好的方法,而不是将@jsonignore用于实体中的字段 在子类上使用JsonBackreference并在父级上使用JsonManagedReference For more information go through this blog post