2017-12-18 332 views
1

我正在使用MS SQL數據庫服務器來處理數據,並且我有用於數據庫映射的Hibernate框架。我需要生成特定的數據(從... ...中選擇)到XML,但不知道如何。我試圖在網上搜索,但沒有...如何在Hibernate框架中正確生成xml

我有2個想法,但你可能會建議更有經驗的方法來解決這個問題。

  1. 在db層中使用FOR XML生成xml。 - >這裏我不知道在冬眠中選擇什麼結果...?串?不知道。
  2. 從數據庫檢索列表,然後用java該列表轉換成XML,例如使用該>​​

你有什麼建議?謝謝

+0

您可能不需要xml定義,因爲Hibernate也可以映射到JPA。 – Alexcocia

回答

0

有許多不同的參數可以作爲決定最佳方法的基礎(例如,數據庫無關是否很重要?是否提供任何xml模式作爲生成輸出的基礎?輸出是否會被使用/訪問?等)

如果您要生成的輸出類似於數據的普通轉儲,並且將來會用於將數據導入數據庫(或類似的用法),那麼也許只是在數據庫層中生成輸出就足夠了。但大多數時候情況並非如此。我強烈建議在應用程序層中生成輸出,以便您可以更好地控制將來生成和定製的方式。您可以使用普通的hibernate查詢獲取數據並使用(如您所述)JAX-B將其序列化爲XML。

0

我不會在數據庫級別生成XML。由於您已經在使用Hibernate,因此您可以將實體對象轉換爲數據傳輸對象(DTO),該對象基本上是同一個對象,但這次打算由庫進行編組和解組。而不是JAXB,你可能想看看傑克遜,這有點複雜(Google for xml jackson),如果有人決定輸出應該用JSON或YAML來代替,那麼它很容易改變。