创建实体管理者的最佳实践



我使用的是带有JPA1的资源本地实体管理器。创建的EntityManager的最佳实践是什么

  1. 每次创建作业关闭实体管理器。(实体管理器重量不重,但仍很无聊)

  2. 为每个线程创建一个entitymanager,并将其存储为ThreadLocal变量并使用它(a-我应该在哪里关闭entitymanagerb-存储在会话作用域bean中的任何实体都将是分离的实体,因为entitymanager在其持久上下文中关闭了哪个实体,或者现在属于另一个线程。)

  3. 将entitymanager存储在会话bean中,并在会话期间使用相同的entitymanager(会话彼此不存在)

应该使用@PersistenceContext注释注入EntityManager。不要担心它来自哪里—这就是依赖注入的作用。

我为每个请求创建EntityManagers,并在ServletRequestListener中关闭它们。

相关内容

  • 没有找到相关文章

最新更新