解决集成jpa时无法创建entityManagerFactory的问题
前段时间在ecplise写了一个springboot框架项目,在ecplise能够完美运行,但是导入到idea运行就报错(idea初学者),集体错误如下所示:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.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、没添加对应的注解
https://blog.csdn.net/qq_38737992/article/details/89743578说了spring依赖注入的注解方法
2、实体类对象属性没有set() ,get()方法
3、如果没有使用hibernate注解开发,写的配置文件开发。可能是实体类中的属性对象名和映射文件的property name不一致。
private String team_name;
<property name="team" column="team_name" type="string"/>
改成:<property name="team_name" column="team_name" type="string"/>
4、没有导入javassist的jar(上面错误对应的就是这个问题)
在pom.xm文件中引入:
<!--javassist的jar包,Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程-->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.23.1-GA</version>
</dependency>