Spring docs 在这里详细说明了注入EntityManagerFactory和EntityManager的优缺点,我不确定是否可以对此进行改进。
话虽如此,你的问题中有一些要澄清的地方。
… Spring将为每个Web请求创建一个DAO的新实例…
这是不正确的。如果你的DAO是Spring bean,则它是单例,除非你通过scopebean定义中的属性对其进行了配置。为每个请求实例化一个DAO会很疯狂。
注入EMF的理由是,对于拥有工厂的人来说,EMF的良好实践总会带来好处。
这种说法并没有真正成立。一般的良好做法是,应向对象注入完成其工作所需的最少协作者。



