【发布时间】:2010-12-11 21:12:01
【问题描述】:
我们目前正在开发一个使用 JPA 作为数据访问层的 J2EE Web 应用程序。我们目前正在考虑几种不同的策略来在我们的应用程序中使用缓存。
-
为每个请求创建一个
EntityManager- 在请求范围内获取缓存,但在请求结束时丢失缓存
- 可以轻松回滚整个请求的任何更改
-
为每个 Http 会话创建一个
EntityManager- 在会话范围内获取缓存
- 使事务变得更复杂,必须为每个请求创建一个新事务,然后能够回滚每个请求的更改
我在 Hibernate 文档中看到了这两种策略。我的问题是哪个更广泛使用,如果我们对每个会话执行 EntityManager,我们是否会在不同的请求线程中使用相同的 EntityManager 时遇到同步问题?
【问题讨论】:
标签: java hibernate jpa jakarta-ee