使用JFace数据绑定与Hibernate:这可能吗?

时间:2010-10-21 14:17:34

标签: hibernate data-binding eclipse-rcp jface

我们的项目是一个使用Hibernate作为ORM的Eclipse RCP应用程序。我最近了解了JFace数据绑定,其中GUI和数据模型可以自动同步。

我按照Lars Vogel的优秀JFace Data Binding Tutorial编写了一个简短的测试实现,并对框架印象深刻。

那么,有没有办法将它挂钩到Hibernate中,这样观察到的小部件中的更改会自动保存在数据库中?这似乎是一件很自然的事情,但我找不到好的教程。

我怀疑我可能正在咆哮错误的树,或者错过了一些基本概念。

有没有人试图这样做?什么是“最佳实践”?

1 个答案:

答案 0 :(得分:2)

我不认为在GUI中的每次修改后都应该将数据模型保存到数据库中。一些原因:

  • 可能导致非常糟糕性能(最糟糕的情况是在每个keystoke之后调用数据库更新)
  • 可能很难实现某些GUI行为(例如,您的用户可以“取消”编辑操作吗?您如何'恢复'原始值?)

如果您的申请表包含某种申请/保存/等。按钮和取消按钮,您有一些明确定义的点,您需要进行数据库操作:

  • 使用数据绑定来连接数据模型和GUI
  • “应用”或“保存”按钮处理程序将已编辑的实体保留在数据库中
  • 取消按钮处理程序可以在必要时从数据库重新加载已编辑的实体(丢弃编辑)

只是我的两分钱......

免责声明:我使用上面的非常简单的示例来说明我的想法。例如。你永远不应该直接从GUI调用数据库/ Hibernate操作(使用GUI和数据库之间的“中间层”来确保模块化和可测试性。)