我有一個API允許第三方通過代表我的java域的XML文件與我的數據庫進行交互。我使用JAXB來定義xsd以及我的POJO和XML之間的編組/非編組。JAXB,關係的自定義編組
我面對的問題是如何支持相當於休眠延遲加載。即在一定條件下遞歸地編組對象。我想到的情況就像RequestFactory使用的是.with(...),用戶可以準確指定要返回的對象圖的哪個部分。
考慮「人」在另一個表中具有「圖像」的情況。當使用API並請求一個「Person」時,我希望能夠指定.with(Image)或其他類似的東西,否則每個用例都會受到懲罰,不得不攜帶這個圖像,而不需要(a)
(b )有一個不必要的數據庫命中。
我有100多個表,排列太複雜,無法編寫專門的POJO。
如何使用JAXB或任何其他免費庫滿足上述要求。
爲什麼不使用繼承。您可以創建Person對象,並且PersonWithmage擴展Person。雖然Parent沒有要求,但孩子可能需要額外的字段。 –
如果僅僅是10個左右的情況,我會這麼做,但是滿足任何可能的第三方需求的排列數量是不可管理的。 – user2046211
您可以通過一些反射來實現,實現一個with()方法(每個可序列化到xml對象使用的接口),通過反射來解析對象,以匹配傳遞給()的參數/映射並最終返回給定對象的成員通過映射 –