2015-12-30 24 views
0

所以,我有一個項目,我從十幾個不同的來源獲取數據,一些是數據庫對象,大多數情況下數據是使用不同的JSON格式,或者通常是XML格式。所以,我需要把這些不同的數據放到一個我們控制的乾淨的管理對象中。Java中的數據庫驅動模型映射

我已經看到了很多不同的工具來做對象映射。 Orika就是其中之一等等。但問題是,Orika,像其中許多這樣仍然需要定義的固體類來進行映射。如果映射發生變化,那麼我必須更改我的類,重新提交它,然後執行構建和部署新代碼......順便說一句,測試也必須像任何代碼更改一樣完成。所以,也許這些工具中的一些對我來說不是一個很好的解決方案。

然後,我正在尋找做某種數據庫驅動的映射,其中我有一個源,一個字段,然後我想把它帶到新的領域或功能。因此,使用數據庫驅動的工具,我可以修改數據庫中的字段,並且所有內容都將保持正常工作狀態。我總是可以創建一個前端來修改這個工具。

所以,這...我問是否有任何數據庫驅動的工具,我可以將字段映射到字段,或者字段映射到函數類型? Drools是我的第一選擇,但我不知道這是我的最佳選擇?也許這對我的需求是過度殺傷力?所以,我在尋找什麼可能是做我的映射的最佳工具的建議。

請讓我知道你是否需要我的更多信息,並感謝所有的幫助!

+0

無論映射是通過應用程序代碼還是通過某些數據庫驅動的工具完成的 - QA迭代應該是必要的以避免任何潛在的數據輸入問題。個人而言,通過數據庫完成此工作的外部工具只會產生技術債務,這可以通過自行記錄代碼來避免。 – Naros

回答

0

實際上,Orika可以像這樣處理動態數據源,甚至還有一個關於如何從XML元素(DOM API)甚至JsonObject轉換的例子。

您可以使用XML解析器將數據轉換成Element對象,或傑克遜獲得的JSONObject

然後定義你的「規範」的Java類和這些動態的「類」

http://orika-mapper.github.io/orika-docs/advanced-mappings.html之間你的類圖定製PropertyResolverStrategy

這裏是Orika映射到MongoDB的DBOBJECT一個例子爲Java Bean https://gist.github.com/elaatifi/ade7321a1405c61ff8a9

如何永遠轉換JSON比XML更簡單(屬性/子項/自定義標籤的語義與JavaBeans不匹配)