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

Spring Boot 3升级后Hibernate内部Criteria相关类缺失问题咨询

Hibernate 6.0中内部Criteria相关类的变更说明

这些类都是Hibernate的内部API(包路径包含internal),Hibernate官方从未承诺过内部API的兼容性,升级时出现找不到的情况属于正常的重构行为,具体变更如下:

  • org.hibernate.query.criteria.internal.CriteriaBuilder
    该内部实现类已被重构,你应该直接使用JPA标准的jakarta.persistence.criteria.CriteriaBuilder(Spring Boot 3基于Jakarta EE,替代原Javax包),这是标准公开API,不受Hibernate版本变更影响。

  • org.hibernate.query.criteria.internal.ParameterRegistry
    该内部接口已被移除。如果之前用于参数注册逻辑,可切换到JPA标准的CriteriaQuery、Query接口管理参数,或使用Hibernate 6公开的org.hibernate.query.criteria.JpaCriteriaQuery相关API处理。

  • org.hibernate.query.criteria.internal.Renderable
    该内部渲染接口已被重构,相关逻辑整合到了新的内部实现中。如果需要自定义SQL渲染,应依赖Hibernate公开的扩展点,比如org.hibernate.query.criteria.spi.CriteriaNode或SqlAstTranslator系列公开API,不要直接依赖内部类。

  • org.hibernate.query.criteria.internal.compile.RenderingContext
    该内部上下文类已被重构拆分,功能转移到多个新的内部类中(如org.hibernate.query.sqm.internal.DomainParameterXref等),但这些仍属于内部API,不建议直接使用。

核心建议

永远避免直接依赖Hibernate的internal包下的类/接口,优先使用JPA标准API(jakarta.persistence.criteria包路径)或Hibernate官方明确标注为公开的扩展API,这样能大幅提升版本升级时的兼容性。如果之前基于这些内部类做了自定义扩展,建议迁移到Hibernate 6提供的公开扩展机制(如自定义SQM转换、SQL翻译器)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:10:01