Umwandlung von Dokument-Objekten in MongoDB 3 POJOS

Spare ich ein Objekt mit java.util.Feld "Datum" in eine MongoDB 3.2 Instanz.

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

die Zeichenfolge enthält:

"captured": 1454549266735

dann lese ich es aus dem MongoDB-Instanz:

    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);

die Deserialisierung schlägt fehl:

java.lang.RuntimeException: com.fasterxml.jackson.databind-Methode.JsonMappingException:
Kann nicht deserialisiert Instanz von java.util.Datum aus START_OBJECT token

Sehe ich, dass die json-string erstellt von "Dokument.toJson()" enthält:

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

statt, was war es ursprünglich ("eingefangen": 1454549266735)
MongoDB docs sagen, Sie begann mit "MongoDB Erweitert Json". Ich habe versucht, sowohl Jackson 1 und 2 analysieren - kein Glück.

was ist der einfachste Weg zu konvertieren diese Dokument-Objekte zur Verfügung gestellt von MongoDB 3 Java POJOs? vielleicht kann ich überspringen toJson () - Schritt insgesamt?

Versuchte ich mongojack -, die man nicht unterstützen MongoDB3.

Sah paar anderen POJO-Mapper aufgeführt, die auf MongoDB docs Seite - Sie alle benötigen um Ihre individuelle Anmerkungen zu Java-Klassen.

InformationsquelleAutor Alex | 2016-02-04
Schreibe einen Kommentar