I would like all my objects to have an ID and I wish to serialise it for some child class but not for some others
for example:
public class A { protected Long id; ..getter and setter } public class B extends A { @Override @JsonIgnore public Long getId() {..} @Override @JsonIgnore public void setId(Long id) {..} } public class C extends B { @Override @JsonInclude public Long getId() {..} @Override @JsonInclude public void setId(Long id) {..} } public class Test { Set<C> tests ... ..getter setter }
I have tried serialising Test but the JSON string doesn’t include the IDs If I remove the JsonIgnore from B then in that case the Ids are there.
Is there a way with jackson to archive this?
Answer
Use
@JsonIgnore(false)
instead of
@JsonInclude