2015-04-10 5 views
6

Gemäß erfordert JAXB Spec das mit @XmlID gekennzeichnete Element als String. Dies wurde von MOXy in den Versionen 2.5.x nicht erzwungen.
Mit Version 2.6.0 scheint es jedoch, es wird nicht mehr unterstützt.Unterstützt MOXy nicht-string @ XmlID in Version 2.6.0?

[Exception [EclipseLink-50016] (Eclipse Persistence Services - 2.6.0.v20150309-bf26070): org.eclipse.persistence.exceptions.JAXBException 
Exception Description: Property [id] has an XmlID annotation but its type is not String.]**strong text** 

Ist dies ein unerwünschtes Verhalten oder eine unerwünschte Regression?

Was ist der richtige Weg, um einen solchen Fehler bei der Migration von MOXy 2.5.x zu vermeiden?
Ist es @XmlJavaTypeAdapter zu verwenden, wie in diesem Beitrag Marshaling a long primitive type using JAXB beschrieben, die auch die Art und Weise beeinflusst, wie das Objekt selbst (und seine ID) zu JSON serialisiert wird (zB ID-Feld vom Typ Long wird ein JSON-String?

Antwort

6

Ja ist es immer noch unterstützt wird. In 2.6.0 sie standardmäßig nicht unterstützt wird, sondern muss über @XmlIDExtension Anmerkung aktiviert werden.

https://eclipse.org/eclipselink/releases/2.6.php

Gerade gegeben Feld mit @XmlIDExtension mit Anmerkungen versehen. es ist auch möglich, Systemeigenschaft angeben org.eclipse.persistence.moxy.annotation.xml-id-extension auch Standardverhalten global verwerfen.

+0

Vielen Dank! Aus irgendeinem Grund konnte ich nicht nach den Informationen in den Versionshinweisen suchen. –