我已经使用 Spring 和 JDBC 开发了一个项目,现在我正在尝试使用 JPA 配置我的 Spring 应用程序,并且我正在遵循本教程。我在 geJpaTransactionManager
方法下的 getObject()
处遇到错误。我已经包含了所有提到的 JAR。我在这里错过了什么吗?
@Configuration
@EnableWebMvc
@EnableTransactionManagement
@ComponentScan(basePackages = "net.jpa.spring")
public class AppConfig{
@Bean
public LocalEntityManagerFactoryBean getEntityManagerFactoryBean() {
LocalEntityManagerFactoryBean factoryBean = new LocalEntityManagerFactoryBean();
factoryBean.setPersistenceUnitName("LOCAL_PERSISTENCE");
return factoryBean;
}
@Bean
public JpaTransactionManager geJpaTransactionManager() {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(getEntityManagerFactoryBean().getObject()); --> Getting error here
return transactionManager;
}
}
错误是
The method getObject() from the type AbstractEntityManagerFactoryBean refers to the missing type EntityManagerFactory
最佳答案
我认为您可能没有导入 hibernate-jpa。 hibernate-jpa 的 Maven 依赖关系如下。这就是编译器无法检测到 EntityManagerFactory 的原因。
<!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.0-api -->
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
关于java - 无法使用 Spring 配置 JPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46629172/