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

Quarkus Tenant Resolver警告修复咨询:缺少@PersistenceUnitExtension注解

修复Quarkus TenantResolver的@PersistenceUnitExtension警告

这个警告源于Quarkus Hibernate ORM扩展对租户解析器Bean的限定符要求更新,旧的无限定符使用方式已被弃用,需按以下步骤修复:

  • 给TenantResolver实现类添加@PersistenceUnitExtension注解
    找到你自定义的TenantResolver实现类,引入io.quarkus.hibernate.orm.runtime.PersistenceUnitExtension并添加注解:

    import io.quarkus.hibernate.orm.runtime.PersistenceUnitExtension;
    import io.quarkus.hibernate.orm.runtime.tenant.TenantResolver;
    
    @PersistenceUnitExtension
    public class CustomTenantResolver implements TenantResolver {
        @Override
        public String getDefaultTenantId() {
            return "default_tenant";
        }
    
        @Override
        public String resolveTenantId() {
            // 你的租户ID解析逻辑,比如从请求上下文获取
            return RequestContextHolder.getRequestAttributes().getAttribute("tenant_id", RequestAttributes.SCOPE_REQUEST).toString();
        }
    }
    
  • 注入TenantResolver时添加对应限定符
    如果代码中有通过CDI注入TenantResolver的地方,同样需要加上@PersistenceUnitExtension限定符:

    import io.quarkus.hibernate.orm.runtime.PersistenceUnitExtension;
    import io.quarkus.hibernate.orm.runtime.tenant.TenantResolver;
    import jakarta.inject.Inject;
    
    public class TenantAwareService {
        @Inject
        @PersistenceUnitExtension
        TenantResolver tenantResolver;
    
        // 业务逻辑中使用tenantResolver
    }
    

添加该限定符是为了明确该Bean属于Hibernate ORM持久化单元的扩展组件,避免与其他同名Bean冲突,同时适配Quarkus后续版本的强制规范要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 16:42:02