我目前有一个管理请求列表的入口点(通过@WebService
),每个入口点都是DAO操作(即createEmployee,createCompany等等)。
公司有多名员工,当我的命令列表如下:
客户电话#1:
1. createCompany
2. createEmployee
3. addEmployeeToCompany
客户电话#2:
1. findAllCompanies
我得到所有公司,但不是与他们相关的雇员
如果我重新部署应用程序和findAllCompanies命令,我带有所有信息(公司+员工),似乎有一些持久性错误。
我的所有bean都是无状态的(如果它们是statefull?)并且我的实体管理器被注入它们(它应该只注入webservice bean并传递给其他bean吗?
答案 0 :(得分:0)
问题是由于JPA的缓存造成的。
第一次查询工作正常,所有后续查询都从缓存中自行提供。
oracle docs had the answer,可以通过多种方式进行配置:
shared-cache-mode
)javax.persistence.cache.retrieveMode
和javax.persistence.cache.storeMode
javax.persistence.cache.retrieveMode
和javax.persistence.cache.storeMode