首页 > 其他分享 >spring boot jar Initialized JPA EntityManagerFactory 失败【导致jar启动闪退】

spring boot jar Initialized JPA EntityManagerFactory 失败【导致jar启动闪退】

时间:2023-06-10 21:56:29浏览次数:45  
标签:EntityManagerFactory hibernate get JPA jar entity org javassist

2023-06-10 21:29:04.460  WARN 24060 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: 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
2023-06-10 21:29:04.468  INFO 24060 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} closed
2023-06-10 21:29:04.509  INFO 24060 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]

 

无法初始化 JPA EntityManagerFactory:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

或者

Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister

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>

解决办法:缺少  javassist-3.15.0-GA.jar  包,版本未定。引入了这个jar包后,启动就正常了。

标签:EntityManagerFactory,hibernate,get,JPA,jar,entity,org,javassist
From: https://www.cnblogs.com/Fooo/p/17472024.html

相关文章

  • spring boot ResourceUtil工具类获取不到jar的classPath下面文件问题
    先说结论这种方式是获取不到jar里面的文件的,但是在本地可以跑,打成jar包就读取不到文件了,即便ResourceUtils是spring提供的。Filefile=ResourceUtils.getFile("classpath:temp\\file\\info.txt");spring提供的ClassPathResource对象是可以在本地和jar环境都获取到资源......
  • 运行漏洞检测jar包提示找不到主类
    1.问题描述1.1报错信息#java-jarshiro_4.5.6-SNAPSHOT-all.jarPickedup_JAVA_OPTIONS:-Dawt.useSystemAAFontSettings=on-Dswing.aatext=trueError:Couldnotfindorloadmainclasscom.summersec.attack.UI.MainCausedby:java.lang.NoClassDef......
  • idea编译时找不到jar包
    问题:idea编译时报couldnotfindartifactcn.tencent:pd-client-sdk:pom:1.2inalimaver解决方法:1.重新下载mavenjar包并重启2.假如你的仓库无此jar包,就向对方要下你所需jar包生成的pom如下图若显示jar路径就可以正常编译了正常编译:主备:仅供参考......
  • Linux服务器上替换jar包文件内容
    一、替换依赖rocketmq-namesrv-5.1.1.jar包1.查看jar包的目录结构与文件jartfrocketmq-dashboard.jar|greprocketmq-namesrv-4.9.3.jar2.解压jar包jar-xvfrocketmq-dashboard.jar3.替换依赖的jar包下载依赖包:wgethttps://repo1.maven.org/maven2/org/apache/rocketmq/rocket......
  • 运行jar包 部署注意的内容
    java-Dname=cloudface-admin.jar-Duser.timezone=Asia/Shanghai-Xms512m-Xmx1024m-XX:MetaspaceSize=128m-XX:MaxMetaspaceSize=512m-XX:+HeapDumpOnOutOfMemoryError-XX:+PrintGCDateStamps-XX:+PrintGCDetails-XX:NewRatio=1-XX:SurvivorRatio=30-XX:+UseParall......
  • 01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理
    文章目录0、Maven1、Maven简介2、Maven安装配置安装配置步骤3、Maven基本使用Maven常用命令Maven生命周期IDEA配置MavenMaven坐标详解IDEA创建Maven项目IDEA导入Maven项目配置Maven-Helper插件(非常实用的小插件)依赖管理使用坐标导入jar包依赖范围0、Maven1......
  • 关于项目报错“Error running 'All in IIDCNo junit.jar”
    在我跑一个项目的时候遇到了如图所示问题去网上搜,搜到了类似的解决方案,如下解决方法运行之后出现新的问题......
  • 同一个服务需要使用同一个依赖(jar)的不同版本的解决方案(类加载器方案)
    当使用类加载器隔离来处理同一依赖的不同版本时,可以创建自定义的类加载器来加载各自的版本。以下是一个简单的示例,演示如何使用类加载器隔离不同版本的依赖://自定义类加载器publicclassCustomClassLoaderextendsClassLoader{privateStringjarPath;publicCus......
  • maven 打包时将 jar 也导入jar项目
    在pom.xml中添加代码<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.8</version>......
  • JDK没有JAVAX.ANNOTATION.JAR包解决方案,无法使用@RESOURCE解决方案
    高版本JDK无法使用@Resource注解解决方案1.普通项目下载javax.annotation-api-1.3.2.jar,并在lib目录中引入即可2.Maven项目Maven项目:在pom.xml中进行配置<dependency><groupId>javax.annotation</groupId><artifactId>jsr250-api</artifactId><ver......