我正在尝试使用 Spring 注入@PersistenceContext entityManager
我的服务。以下配置独立工作,但在 Tomcat 上部署时不起作用。在 Tomcat 上部署时,entityManager 保持为空。我的 JPA 配置在 persistence.xml 中。
<context:annotation-config />
<tx:annotation-driven/>
<bean id="entityManagerFactory"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod">
<value>javax.persistence.Persistence.createEntityManagerFactory</value>
</property>
<property name="arguments">
<list>
<value>persistenceUnit</value>
</list>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
我需要对注入进行哪些配置更改才能在 Tomcat 6 和独立版本上运行?
编辑:我能够在服务中获取工厂并从中获取 entityManager,因此 persistence.xml 设置似乎工作正常。
解决方案:
我启用了 Spring 日志记录来查找问题——缺少库。transactionManager
显然,如果无法创建上述 bean,Spring 会悄悄地失败。