将Doctrine的EntityManager保留在会话变量中

| 我正在开发一个Web应用程序,并且我将使用docrine框架进行管理, 并发请求和事务查询(例如插入或更新头行记录)。 对于网络必需品,我想将操作分成不同的步骤: 第一步:我有一个页面,允许用户插入HeadTable记录,然后将信息发送到服务器,创建一个Entity并将其存储在具有持久功能的EntityManager中。 第二步:用户将编辑并插入所有RowsTable记录。完成所有操作后,像以前一样,我将所有数据发送到服务器,创建实体,并将它们关联到HeadTable记录。 最后一步:当用户确认已完成所有操作时,我触发EntityManager的刷新操作,并在单个原子事务中将其全部提交给DataBase。 为了使所有这些步骤保持一致,我将EntityManager放在会话变量中,并在刷新操作后将其删除。 一切似乎都很好,但是我想知道这是否是解决问题的正确方法,或者是否有更好的方法。     
已邀请:
听起来是合理的尝试。 但是,我可能会避免在请求之间存储实体管理器。它需要担心数据库连接,因此可能会中断。 但是,您只能将实体存储在会话中。从他们的entitymanager中分离()它们,然后在下一个请求上将它们合并()。     

要回复问题请先登录注册