我应该多久创建一次实体管理器?
2022-09-01 12:10:18
我有一个可以为其创建一个(或多个)实例。我正在使用Servlet环境,并且我有一个EntityManagerFactory连接到servlet(通过servlet上下文),该站点在servlet的生命周期内共享(因此,对于所有用户)。EntityManagerFactory
EntityManager
我可以执行下列操作之一:
- 在我的 servlet 生命周期内创建单个 EntityManager(例如,在所有用户之间共享)
- 为每个用户创建一个(以便每个用户在 HttpSession 中获取自己的用户)
- 为每个 HTTP 请求创建一个(例如,通过实例化一个新请求并在方法结束时将其关闭)
doGet
哪个最合适?创建实体管理器的成本是否很高?如果我执行单个共享 EntityManager,是否存在单个事务范围(即独立用户之间的更新可以提交其他更改)?