2012-11-23 28 views
0

我想在我的客戶端和服務器應用程序之間共享一些域對象。客戶端中域對象的註解拉完成休眠依賴關係

與Hibernate 4開始,Hibernate的註釋是集成在休眠芯(使用的是一個單獨的jar),見http://in.relation.to/Bloggers/NoMoreHibernateannotationsModule

我會真的更願意堅持使用註釋(而不是根據切換到XML映射)。

與此同時,我會真的喜歡避免捆綁Hibernate核心依賴與客戶端(這將通過HTTP通過Java web啓動,最好在每次啓動時轉移到用戶)。

我必須回到Hibernate 3.x嗎?這些註釋依賴關係是運行客戶端還是我需要它們來編譯客戶端?

感謝

回答

1

你並不需要有一個類的註釋在類路徑中能夠加載的類。

這就是說,一個Hibernate實體包含集合和引用其他實體。集合是Hibernate集合的實例,並且引用可以是Hibernate代理,如果它們是延遲加載的。所以如果你將一個Hibernate實體從服務器序列化到客戶端,客戶端需要在其類路徑中加載Hibernate jar來加載它們。

如果你想避免在客戶端Hibernate的依賴,你應該考慮DTO的傳輸到客戶端,而不是休眠的實體。

+0

嗯是的,我沒有真正想過這件事。 DTO似乎是我想避免的另一件事情(因爲重複)。我將首先在客戶端類路徑上嘗試一下hibernate,以獲得有關hibernate對象圖序列化的更多經驗。 – Zalumon