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