一个例子是,如果我的spring控制器具有两个Autowired服务,并且两个服务都具有一个也由spring控制的PersistenceContext(并且我什么也不做),默认情况下,每个请求中都将共享相同的上下文吗?
答案 0 :(得分:0)
否,他们将使用不同的密码。持久性上下文(IF(OR(HOUR(B2) = 3; HOUR(B2) = 12); "xx"; "yes")
)被定义为JPA中的线程绑定概念。因此,每个请求将为每个新请求看到EntityManager
的新实例。
对于注入了EntityManager
的Singleton Spring组件,Spring将自动为您连接一个代理实例,以便可以轻松交换后备实例。这是Spring容器的核心功能,在Spring Data JPA中不需要任何功能(请参见文档previous answer)。