2010-10-21 34 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和数据库之间使用“中间层”以确保模块化和可测试性)。