I have a User pojo with an embedded Address:
public class User{
String name;
Address address;
}
public class Address{
String code;
String detail;
}
I am using Jackson to convert Address/User to/from Document with snippet code:
ObjectMapper m = new ObjectMapper();
Map<String, Object> props = new HashMap<>();
for (String key : document.getKeys()) {
props.put(key, document.getObject(key));
}
- if document is Address type content :
Addreass address = m.convertValue(props, Address.class);
^^^ address fields’ value set correctly
- if document is User type content:
User user = m.convertValue(props, User.class);
^^^ user.address will be null , not expected.