Ich habe eine bestimmte POJO, die in einer Datenbank persistent sein muss, aktuelle Design spezifiziert sein Feld als eine einzelne Zeichenfolge Spalte, und das Hinzufügen von zusätzlichen Feldern zu der Tabelle ist keine Option.Hausgemachte vs Java-Serialisierung
Bedeutung, die Objekte müssen in irgendeiner Weise serialisiert werden. Also nur für die grundlegende Implementierung ging ich und entwarf meine eigene serialisierte Form des Objekts, die alle Felder in eine nette Zeichenfolge verkettet, getrennt durch ein Trennzeichen, das ich wählte. Aber das ist ziemlich hässlich und kann Probleme verursachen, sagen wir, wenn eines der Felder mein Trennzeichen enthält.
Also habe ich grundlegende Java-Serialisierung versucht, aber von einem grundlegenden Test, den ich durchgeführt habe, wird dies irgendwie eine sehr kostspielige Operation (Aufbau eines ByteArrayOutputStream, eines ObjectOutputStream, usw. für die Deserialisierung).
Was sind meine Optionen? Was ist der bevorzugte Weg für die Serialisierung von Objekten in einer Datenbank?
Bearbeiten: Dies wird eine sehr häufige Operation in meinem Projekt sein, so muss der Aufwand auf ein Minimum gehalten werden, und die Leistung ist von entscheidender Bedeutung. Auch Lösungen von Drittanbietern sind nett, aber nicht relevant (und in der Regel Overhead erzeugen, die ich zu vermeiden versuche)
Ich habe festgestellt, XML und JSON sind etwa 5x langsamer als Java-Serialisierung. Hast du Beispiele, wo sie schneller sind? –
Die integrierte Java-Serialisierung ist ebenfalls JVM-spezifisch.Nicht wirklich portierbar – mcjabberz
Es gibt nichts in diesem Link, das ein "nettes Argument" oder gar ein Argument darstellt. Nur eine Reihe von überflüssigen Bemerkungen, nicht alle richtig. – EJP