2015-04-10 13 views
6

Theo https://gist.github.com/VineetReynolds/5108580, JAXB Spec yêu cầu phần tử được chú thích với @XmlIDString. Điều này đã không được thực thi bởi MOXy trong các phiên bản 2.5.x.
Với phiên bản 2.6.0, tuy nhiên, có vẻ như nó không được hỗ trợ nữa.MOXy có hỗ trợ không chuỗi @XmlID trong phiên bản 2.6.0 không?

[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** 

Đây có phải là hành vi mong muốn hoặc hồi quy không mong muốn không?

Cách đúng để tránh lỗi như vậy khi di chuyển từ MOXy 2.5.x là gì?
Có sử dụng @XmlJavaTypeAdapter như đã mô tả trong bài viết này Marshaling a long primitive type using JAXB, mà còn ảnh hưởng đến cách làm thế nào các đối tượng chính nó (và ID của nó) được đăng để JSON (ví dụ, id lĩnh vực loại Long trở thành một chuỗi json?

Trả lời

6

Có , nó vẫn được hỗ trợ. Trong 2.6.0 nó không được hỗ trợ theo mặc định, nhưng phải được kích hoạt thông qua @XmlIDExtension chú thích.

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

Chỉ cần chú thích lĩnh vực nhất định với @XmlIDExtension. nó cũng có thể để xác định hệ thống sở hữu org.eclipse.persistence.moxy.annotation.xml-id-extension quá hành vi mặc định verride trên toàn cầu.

+0

Cảm ơn rất nhiều! Đối với một số lý do tôi đã không thể google cho các thông tin trong các ghi chú phát hành. –

Các vấn đề liên quan