0

我正在开发一个 Web 应用程序,我将使用 docrine 框架来管理并发请求和事务查询(如插入或更新头和行记录)。

对于网络必需品,我想在不同的步骤中拆分操作: 第一步:我有一个页面,允许用户插入 HeadTable 记录,然后我将信息发送到服务器,创建一个实体并将其存储在一个 EntityManager 中持久化功能。

第二步:用户将编辑并插入所有的 RowsTable 记录。完成后,像以前一样,我将所有数据发送到服务器,创建实体并将它们关联到 HeadTable 记录。

最后一步:当用户确认他所做的一切时,我触发 EntityManager 的刷新操作并在单个原子事务中将所有内容提交到数据库。为了将所有这些步骤保持在一起,我将 EntityManager 放在会话变量中,并在刷新操作后将其删除。

一切似乎都很好,但我想知道这是否是解决问题的正确方法,或者是否有更好的方法。

4

1 回答 1

2

听起来是一个合理的尝试。

但是,我可能会避免跨请求存储实体管理器。它需要担心数据库连接,因此可能会中断。

但是,您可以做的只是将实体存储在会话中。从他们的实体管理器中分离()它们,然后在下一个请求时将它们合并()回来。

于 2011-04-12T20:49:30.023 回答