整个servlet的一个EM听起来不太好。如果您不使用容器管理的EM(例如EJB3),则建议将EM用于特定的工作单元。
在Web应用程序上下文中,您的第三个建议(每个HTTP请求一个)听起来不错。但是,这可能会导致您陷入将服务层与db层绑定的陷阱(您的服务层甚至都不应该知道EM的存在)。
另一种方法是在DAO中以编程方式标记事务,并让DAO为每个方法调用使用新的EM。
编辑:与具有 大量 开销的EMF相比,创建EM便宜。使用一个EMF(看来确实需要这样做)和许多EM是可行的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)