通过@PersistenceContext注入JPA entityManager

通过@PersistenceContext注入JPA entityManager,jpa,thread-safety,entitymanager,Jpa,Thread Safety,Entitymanager,我已经读到Spring通过@PersistenceContext注入的entityManger是线程安全的,有人能证实这一点吗?有人对此有意见吗?我有点担心看到下面我的刀类。我们的应用程序是SpringMVC/JPA/HibernateWebApp。web请求非常简单,每个请求只执行一个CRUD操作,我们没有在CRUD处理逻辑中创建任何线程 这是我们的接线方式 hibernate持久性xml org.hibernate.ejb.HibernatePersistence ..... //剪断 S

我已经读到Spring通过@PersistenceContext注入的entityManger是线程安全的,有人能证实这一点吗?有人对此有意见吗?我有点担心看到下面我的刀类。我们的应用程序是SpringMVC/JPA/HibernateWebApp。web请求非常简单,每个请求只执行一个CRUD操作,我们没有在CRUD处理逻辑中创建任何线程

这是我们的接线方式

hibernate持久性xml

org.hibernate.ejb.HibernatePersistence ..... //剪断

Spring上下文xml

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
  <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource"/>

</bean>
示例实体类

@Entity
@Table(name = "mytable")
@Configurable
public class SomeEntity {

是的,当然是线程安全的。但你为什么要问这样的问题?如果你不相信官方的Spring文档,你为什么会相信我?Spring用于数千个服务器端应用程序。你们不认为他们会注意到他们的EntityManager不是线程安全的吗?我担心的主要原因是我们在SpringSingletonbean中很难找到与实例变量相关的线程错误,所以我要格外小心。
@Entity
@Table(name = "mytable")
@Configurable
public class SomeEntity {