在JSF中还原修改后的实体的最佳实践?

时间:2014-12-05 16:05:22

标签: jsf

我正在努力维护如何在JSF中维护实体的状态。具体来说,假设我想在一个上执行简单的CRUD操作。我将一堆Entity的属性绑定到一个表单,我在表单中做了一些更改,但后来我取消了它。在我的页面服务器上的bean中,Entity仍然被修改。 (假设UI实际上提交了表单数据,因为它在编辑它时会使用一些动作侦听器来更新表单。)

人们如何处理将实体恢复到原始状态?

  • 在将实体绑定到表单之前,您是否始终备份/克隆实体?这似乎是很多工作,编程。
  • 或者您取消时是否始终从数据库中重新获取数据?这似乎浪费了数据库操作。

只是想知道我是否遗漏了什么。

1 个答案:

答案 0 :(得分:1)

可能克隆实体&然后更新它是一个更好的方法。

通过这种方式,您可以保留初始值&如果需要,可以进行比较/验证等。在某些情况下向最终用户显示他/她所做的更改;更多用例涉及审计等。

此外,当您已经获取该实体时,不建议返回数据库。