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

Quarkus集成Panache调用listAll()报HHH000183无持久化类问题求助

报错HHH000183排查方案
  • 显式指定实体类扫描包
    Quarkus默认仅扫描应用入口类所在包及其子包下的实体类,如果com.myproject.model包不在入口类的子包层级下,Hibernate无法自动识别。可在application.properties中添加配置指定扫描路径:
quarkus.hibernate-orm.packages=com.myproject.model

多包场景用逗号分隔即可。

  • 核对@Entity注解的导入包
    Quarkus 2.x及更早版本需导入javax.persistence.Entity,Quarkus 3.x及以上版本需导入jakarta.persistence.Entity,如果误导入其他包下的同名注解,Hibernate不会识别为实体类。

  • 检查实体类访问修饰符
    确认TeamEntity类为public修饰,非public类Hibernate默认无法识别为持久化类。

  • 验证Panache依赖完整性
    确认项目引入的Panache依赖与Hibernate ORM版本匹配,Maven参考依赖配置如下:

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-hibernate-orm-panache</artifactId>
</dependency>
  • 排查多数据源配置冲突
    如果项目配置了多个数据源,需显式指定实体类绑定的持久化单元与对应数据源,配置示例:
quarkus.hibernate-orm."my-datasource".packages=com.myproject.model
quarkus.hibernate-orm."my-datasource".datasource=my-datasource
  • 检查构建配置是否排除实体类
    确认Maven/Gradle的构建配置没有排除com.myproject.model包下的类,避免构建产物中缺失实体类导致Hibernate扫描失败。

  • Native镜像运行场景额外检查
    如果是打Native镜像运行,需在实体类上添加@RegisterForReflection注解,保证Native编译时将实体类纳入反射注册范围,否则Hibernate无法识别到实体类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:00:01