Convertir objetos de documento en MongoDB 3 a POJOS

Estoy guardando un objeto con un campo java.util.Date en una instancia de MongoDB 3.2.

ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(myObject);
collection.insertOne(Document.parse(json));

la cadena contiene:

"captured": 1454549266735

entonces lo leí de la instancia de MongoDB:

    final Document document = collection.find(eq("key", value)).first();
    final String json = document.toJson();
    ObjectMapper mapper = new ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    xx = mapper.readValue(json, MyClass.class);

la deserialización falla:

java.lang.RuntimeException: com.fasterxml.jackson.databind.JsonMappingException: No se puede deserializar la instancia de java.util.Date fuera del token START_OBJECT

Veo que la cadena json creada por "document.toJson ()" contiene:

"captured": {
    "$numberLong": "1454550216318"
}

en lugar de lo que estaba originalmente ("capturado": 1454549266735) los documentos de MongoDB dicen que comenzaron a usar "MongoDB Extended Json". Intenté con Jackson 1 y 2 para analizarlo, sin suerte.

¿Cuál es la forma más fácil de convertir esos objetos de documento proporcionados por MongoDB 3 en POJO de Java? ¿Tal vez puedo saltar al paso Json () por completo?

Intenté mongojack, ese no es compatible con MongoDB3.

Observé otros dos mapeadores POJO que figuran en la página de documentos de MongoDB: todos requieren poner sus anotaciones personalizadas en las clases Java.

Respuestas a la pregunta(4)

Su respuesta a la pregunta