java - 无法使用 Spring 配置 JPA

标签 java spring hibernate jpa

我已经使用 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/

相关文章:

java - 正在打印日期,但在 jSTL 中无法评估为非空

java - 复杂字符串的正则表达式

java - 如何将HTTP GET请求参数绑定(bind)到JavaBean对象变量?

java - Spring:为什么我在使用注解时需要applicationContext.xml?

java - 导入org.springframework.beans.Beanutils无法解析

java - 父字段上的 Hibernate 注解

java - 从SQL查询转化为HQL查询问题

java - 如何在 java 中使用 com.google.gson.JsonObject 将值设置为 null?

java - 如何在 java 中执行 perl 脚本?

java - StringEscapeUtils 用于字符转义