是否可以在每个请求结束时调用 Doctrine 的同花顺


Is it okay to call Doctrine's flush at the end of every request?

根据我对 Doctrine 及其flush命令的了解,实体管理器使用 persist 方法构建对实体的更改集合,将更改传播到相关实体,同时构建一个"持久查询",以便在调用flush时将这些更改提交到数据库中。

如果我的理解是正确的,那么在每个请求结束时调用flush的某种应用程序钩子(我的应用程序是 ZF2 应用程序,但它可以是任何 MVC 应用程序)是否有意义?无论如何,这就是flush的使用方式(我从未在文档或博客文章中看到过这样的东西)?

根据您的应用程序,在每个请求结束时调用 flush() 方法不会有问题。但我认为你必须将其视为事务,您应该在模型层(或依赖于控制器)内控制事务,而不是作为钩子。这不是交易的目的,对吧?您应该能够控制应用程序的每个事务,而不是只有一个事务来处理所有事务。