簡體   English   中英

使用休眠從框架持久化對象

[英]Persist Object from a framework using hibernate

我正在考慮從我使用的庫/工具包中保留某個對象。 存在以下問題:

該對象具有一個ID字段,它是一個字符串。 如何在其中存儲生成的數值?

庫的對象層次結構相當復雜,相應的對象位於底部。 它還包含應映射為OneToMany的數組。

如何為該對象創建映射文件? 遍歷所有父類以確定必填字段? (源代碼可用)。 還是可以選擇保留所有這些?

首先,我要花一些時間分析您的域模型。

您是否需要對要保存的對象(除了讀取和保存)執行查詢? 這些查詢會受到這些對象具有的依賴性的影響嗎? 您是否真的有興趣保留與對象相關的所有對象圖?

我的第一印象是,決定保留來自第三方庫/框架的一個對象不是一個好主意,因為:

  • 您無法控制對象的依賴關系/關系以及對象的生命周期。 它是由第三方創建的,對吧?
  • 您必須遵守該特定結構,而該結構很可能不是為持久性目的而優化/設計的。 為您不維護的結構創建Hibernate映射很繁瑣。
  • 您最終將保留更多信息,那么您需要
  • 如果您升級了正在使用的第3方庫的版本,則您的Hibernate映射可能不再匹配。
  • 有許多設計原則

我認為您會更樂於設計自己的結構並堅持下去。 然后有一個將結構轉換為框架所需的對象的適配器。 這樣,您的代碼將被框架執行的所有任務或將要使用這些對象的所有事情隔離。 您的持久性代碼保持不變,只是適配器可能會更改。

我希望這是有道理的。 如果您已經考慮了所有這些,並且仍然需要保留該結構,請告訴我! :)

UPDATE我並不是要創建一個實現與第3方對象相同的接口的結構,而是要創建一個完全重做的結構,以適合關系數據庫中的持久性。 然后,適配器將基於您的對象創建第三方結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM