休眠繁重的编辑会话

时间:2018-07-31 11:10:56

标签: hibernate

我有编辑窗口,用户可以在其中编辑实体和一些其他链接的实体(必须在从第一个编辑窗口打开的单独窗口中进行操作)。

例如,假设我们有一个Person,具有属性,并且person具有到部门的链接。部门可以分配给用户,也可以更改为任何其他部门,或者用户可以仅编辑当前链接的部门(在单独的子窗口中,单击“确定”和“取消”按钮)。并假设此过程可以更深入,他也可以编辑与部门链接的某些实体。

我该怎么办?在我看来,我还有其他选择:

  1. 当通过“确定”按钮关闭第一个(父,用户)窗口,或通过“取消”按钮回滚所有更改时,打开会话,从会话中获取所需的实体并修改该实体,然后提交该会话。

以这种方式,我无法理解如何取消在子窗口中所做的更改?此外,保持长寿是正确的吗?用户可以打开编辑窗口并转到某处...似乎很糟糕。

  1. 打开会话,获取一些内容,分离。让用户使用分离的实体。以某种方式加载所需实体,跟踪更改,删除或创建的内容。最后创建新会话,合并所有需要的实体并提交吗?

在这种方法中,跟踪更改看起来是重复的工作,coz hibernate可以做到OOTB(开箱即用)。当用户需要一些实体进行编辑时,我必须首先查看我的存储空间-也许他已经在编辑它了?休眠使OOTB完全相同。

我已经尝试使用Google搜索此问题,但未找到任何内容。这种模式有什么最佳实践吗?

先谢谢您,抱歉我的英语不好。

0 个答案:

没有答案