【发布时间】:2019-12-28 11:49:43
【问题描述】:
我想创建以下表单:
第 1 步:用户输入他的联系方式。
第 2 步:确认页面,用户可以再次确认或编辑他输入的数据(返回第 1 步)
联系人详细信息存储在实体域对象中。属性具有用于验证的注释。
我的问题: 当我将联系人对象传递到确认页面时,我会收到消息
无法序列化域对象供应商\扩展\域\模型\对象。它既不是设置了身份属性的实体,也不是值对象。
我了解我无法传递非持久域对象。我发现的一个技巧是将对象转换为数组,然后再转换回来。这可以在确认页面上显示输入。但是如果用户编辑数据,我在转换为数组时会失去验证功能。
另一种可能性是在第 1 步之后已经持久化对象(暂时?)。这里的问题是数据不能显示在后端(它们还没有被确认)。此外,如果用户取消该进程,则会创建未使用的数据。
是否可以临时保存对象?
这个问题最优雅的解决方案是什么?
【问题讨论】:
-
有人有什么想法吗?我认为拥有临时数据的情况更为常见。例如,在购物车系统中。我可以在哪里保存数据并在必要时再次对其进行编辑,然后才能持久化?