在我當前的項目中,我們使用JAXB beans for Hibernate,並通過[REST API] [1]以XML和JSON格式發送數據。我們希望能夠在我們用作REST VO的Result對象中任意包含任何JAXB bean(例如,作爲<xsd:any>
元素),而不必爲可能包含的每種不同類型分別編組。看起來最簡單的方法是使每個bean都有@XmlRootElement註釋。將@XmlRootElement添加到每個JAXB bean是否有任何問題?
- 這是「無縫」編組的好方法嗎?
- 這樣做有後果嗎?
我們使用Java 1.6,用於jaxb的EclipseLink/MOXy,用於REST的Jersey 1.x以及Tomcat應用服務器。我們的bean是使用xjc從XML Schema文件生成的,並使用annox在生成時添加註釋。
[1]:在理想世界中的數據對象將是從域對象分開,但是這是一個小團隊的一個小項目,所以數據庫和API之間的隔離是沒有必要的