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

Quarkus集成Hibernate Reactive构建时datasource-cis持久化单元不识别问题

问题根因

从报错日志可以定位到两个核心配置缺失:

  1. 你配置了名为datasource-cis的非默认持久化单元,但未给该单元开启Hibernate Reactive支持,也未配置实体扫描路径,导致框架无法将model.WorkOrder等实体类归属到该持久化单元下
  2. 你注入持久层实例时使用了默认的无注解注入方式,但项目不存在默认持久化单元,只有带@PersistenceUnit("datasource-cis")限定符的持久化单元,因此触发依赖不满足错误
修复步骤
  • 第一步:补全application.yml中的Hibernate配置
quarkus:
  hibernate-orm:
    "datasource-cis":
      # 配置实体类所在包,多包用逗号分隔
      packages: model
      reactive:
        # 必须显式开启该持久化单元的Reactive支持
        enabled: true
  • 第二步:修改持久层实例注入代码,指定持久化单元
    注意Hibernate Reactive场景下建议直接注入Reactive专属的SessionFactory,而非JPA标准的EntityManager,注入代码参考:
import io.quarkus.hibernate.orm.PersistenceUnit;
import javax.inject.Inject;
import org.hibernate.reactive.mutiny.Mutiny.SessionFactory;

@Inject
@PersistenceUnit("datasource-cis")
SessionFactory sessionFactory;
  • 第三步(使用Panache场景需额外配置):给实体类绑定持久化单元
    在你的WorkOrder实体类上添加@PersistenceUnit注解:
import io.quarkus.hibernate.orm.PersistenceUnit;
import javax.persistence.Entity;
import io.quarkus.hibernate.reactive.panache.PanacheEntity;

@Entity
@PersistenceUnit("datasource-cis")
public class WorkOrder extends PanacheEntity {
    // 实体属性逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:54:04