【发布时间】:2012-03-03 00:01:27
【问题描述】:
有没有办法在几个控制器动作之间启动“事务”,以保持模型更改,但除非所有动作都完成,否则不保存它们?
假设我有以下用户流程:step1 -> step2 -> step3 -> step4 在每个步骤中,用户都会填写一些数据,并且每个步骤都有一个“取消”按钮,该按钮需要取消向导以及之前步骤的所有更改。
由于我们不希望每一步都将所有填充的数据传递到下一步以便仅在最后一步保存到数据库 - 每一步都会创建或更改一个或多个模型实例并将它们存储在数据库中。点击“取消”后,我们如何恢复之前所有步骤的更改?
理想情况下,我们希望在步骤 1 中调用一些“TransactionSupport.startTransaction”,在步骤 4 中调用“TransactionSupport.endTransaction”。但考虑到每个步骤请求可能会发送到不同的 Play 服务器 - 我们将如何在服务器之间存储此事务?
【问题讨论】:
标签: java playframework