2010-10-21 39 views
4

我們的項目是一個使用Hibernate作爲ORM的Eclipse RCP應用程序。最近我瞭解了JFace數據綁定,其中GUI和數據模型可以自動進行同步。在Hibernate中使用JFace數據綁定:這可能嗎?

我組建了一個簡短的測試實現沿的Lars Vogel的優秀JFace Data Binding Tutorial線,是與框架相當深刻的印象。

有什麼辦法,然後,勾此進入休眠,這樣,在一個觀察窗口小部件所做的更改會自動在數據庫中堅持?這似乎是一件很自然的事情,但我沒有找到好的教程。

我懷疑我可能會找錯了樹,或者已經錯過了一些基本概念。

有沒有人嘗試這樣做嗎?這裏的「最佳實踐」是什麼?

回答

2

我不覺得在GUI每次修改之後,你要堅持你的數據模型的數據庫。一些原因:

  • 就可能導致真的不好性能(最壞的情況是要求每keystoke後數據庫更新)
  • 它可能很難實現一些GUI的行爲(例如,可以在用戶取消'編輯操作?'如何恢復'原始值?)

如果您的申請表包含某種Apply/Save/etc。按鈕和取消按鈕,您可以在您需要做數據庫操作的一些明確的點:

  • 使用數據綁定連接您的數據模型和GUI
  • 的應用或保存按鈕處理堅持編輯的實體數據庫
  • 一個取消按鈕處理程序可以從數據庫中重新載入編輯實體(如有必要,丟棄編輯)

只是我的兩分錢......

免責聲明:我用很簡單的例子以上說明我的想法。例如。您不應直接從GUI調用數據庫/ Hibernate操作(在GUI和數據庫之間使用「中間層」以確保模塊化和可測試性)。