解决集成jpa时报错无法创建少导入entityManagerFactory的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决集成jpa时报错无法创建少导入entityManagerFactory的问题相关的知识,希望对你有一定的参考价值。

解决集成jpa时报错无法创建少导入entityManagerFactory的问题

最近将IDEA 2018.1版本更新到了2018.2版本,更新好后跑了一下之前的项目,结果就报错了,这个项目集成了spring data jpa。由于该错误有多种原因导致,在解决该错误的时候也花了一些时间,所以特别记录一下。关键的报错信息如下:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory‘ defined in class path resource [org/zero/xunwuproject/config/JpaConfig.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister

这个错误有多种原因导致,在网上查了一下, 大概有以下几种原因:

  1. 实体类的属性对象没有设置setter或者getter。

    http://stackoverflow.com/questions/18042247/could-not-get-constructor-for-org-hibernate-persister-entity-singletableentitype

  2. 没有导入javassist的jar文件 (javassist-3.15.0-GA.jar什么的)

    http://blog.csdn.net/xiaochangwei789/article/details/7712725

  3. 实体类中的属性对象名和映射文件的property name不一致。

    https://blog.csdn.net/liuzhengyang1/article/details/23127629

而我这里是第二个原因,缺少javassist的jar包,于是在pom文件中引入:

<dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.23.1-GA</version>
</dependency>

引入了这个jar包后,启动就正常了。

以上是关于解决集成jpa时报错无法创建少导入entityManagerFactory的问题的主要内容,如果未能解决你的问题,请参考以下文章

Struts2 Spring JPA 整合时报错:No bean named 'entityManagerFactory' is defined ,请问各位是怎么解决

Jmeter导入脚本时报错原因及解决办法

关于使用eclipse maven UpdateProject时报错,无法更新本地仓库的问题解决方案

Spring集成JPA配置懒加载两个报错解决办法

spring data jpa执行update和delete语句时报错处理

导入(上传)Excel文件时报错空指针异常?