代码之家  ›  专栏  ›  技术社区  ›  James Cronen

将JFace数据绑定与Hibernate一起使用:这是可能的吗?

  •  4
  • James Cronen  · 技术社区  · 14 年前

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

    我根据Lars Vogel的优秀特性,构建了一个简短的测试实现 JFace Data Binding Tutorial 对框架印象深刻。

    那么,是否有任何方法可以将其挂接到休眠中,以便在观察到的小部件中所做的更改自动保存在数据库中?这似乎是一件很自然的事情,但我没有找到好的教程。

    我怀疑我可能找错了树,或者错过了一些基本概念。

    有人试过这样做吗?这里的“最佳实践”是什么?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Csaba_H    14 年前

    我认为在每次修改GUI之后,您不应该将数据模型持久化到数据库中。原因有:

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

    如果您的申请表包含某种类型的“应用/保存”按钮和“取消”按钮,那么您需要在其中定义一些定义良好的点来执行数据库操作:

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

    只是我的两分钱…

    免责声明 我用过 非常简单的例子 上面来说明我的想法。例如,您不应该直接从GUI调用数据库/休眠操作(在GUI和数据库之间使用“中间层”以确保模块化和可测试性)。