我有一个EntityManagerFactory
我可以创建一个(或多个)EntityManager
实例。我使用的是一个Servlet环境,并且我有一个EntityManagerFactory连接到servlet(通过servlet上下文),该servlet在servlet的生命周期中共享(因此也适用于所有用户)。应该多久创建一个EntityManager?
我可以做下列之一:
- 我的servlet的生命周期(例如,所有用户之间共享)
- 为每个用户创建一个(因此每个用户得到自己在创建一个单一的EntityManager在HttpSession)
- 比方说,通过实例化一个新的并在一个
doGet
方法结束)
哪个是最合适的关闭它创建每HTTP请求(一个?创建EntityManager的成本是否显着? 如果我做一个共享的EntityManager,是否有单个事务范围(即独立用户之间的更新可以提交其他更改)?
同意。我完全建议你使用像EJB 3或Spring Framework这样的集成框架,它将消除EntityManager管理的负担。 – 2010-11-19 15:29:15