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

Spring Boot升级后Hibernate CriteriaBuilder类型转换失效问题咨询

问题:Hibernate小版本升级后Integer列Like查询失效原因分析

场景说明

  • 版本变更:Spring Boot从3.3.5升级至3.5.3,底层Hibernate随之从6.5.3.Final升级到6.6.18.Final
  • 原有可正常运行的代码:
criteriaBuilder.like(idPath.as(String.class), "%" + term + "%"))

该代码用于对Integer类型列执行SQL Like查询。

  • 升级后问题:Hibernate 6.6.18.Final生成的SQL不再包含类型转换逻辑,数据库报错提示无法对Integer列执行Like查询。
  • 临时解决方案:
Expression<String> kundeId = criteriaBuilder.function("someFunctionName", String.class, root.get("id"));
return criteriaBuilder.like(kundeId, "%" + term + "%");

核心疑问

为何小版本升级后必须修改原有实现?这是Hibernate的Bug,还是我遗漏了更新日志中的相关变更?毕竟小版本升级理论上不应包含破坏性变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:42:00