You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Spring Boot到Tomcat9时JPA实体未被识别的问题排查

Spring Boot部署Tomcat 9出现Not a managed type异常的解决提示
  • 实体类扫描范围遗漏
    检查启动类的@SpringBootApplication或@EntityScan注解,确认是否覆盖了com.michelin.uniformidad.model.tablasove包。本地默认扫描启动类所在包及其子包,但Tomcat部署时可能因打包结构或配置差异导致扫描范围缺失。若实体类包不在启动类层级下,需显式添加:

    @EntityScan(basePackages = "com.michelin.uniformidad.model.tablasove")
    
  • JPA实体管理配置缺失
    若自定义了DataSource,需确保LocalContainerEntityManagerFactoryBean指定了实体类扫描路径:

    entityManagerFactoryBean.setPackagesToScan("com.michelin.uniformidad.model.tablasove");
    

    避免因数据源配置未关联实体扫描,导致JPA无法识别该类。

  • War包打包问题
    确认项目打包方式为war,且pom.xml正确排除内置Tomcat:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    

    检查war包结构,确保CalendarioTurnosEntity.class存在于WEB-INF/classes/com/michelin/uniformidad/model/tablasove路径下,避免打包时遗漏类文件。

  • 类加载器冲突
    Tomcat类加载机制与内置Tomcat不同,排查WEB-INF/lib下是否存在多版本的hibernate-core或spring-data-jpa依赖,重复依赖会导致类加载异常。必要时可在启动类中显式指定类加载器。

  • 实体类注解正确性
    确认CalendarioTurnosEntity类正确添加@Entity、@Table注解,且导入的是对应Spring Boot版本的JPA包(如javax.persistence.Entity或jakarta.persistence.Entity),同时确保类提供公共无参构造方法。

内容的提问来源于stack exchange,提问作者Pabs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:19:58