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

Hibernate 6.7 Criteria查询设null值触发空指针异常求助

解决Hibernate 6.7中Criteria查询设置Null值的异常问题
  • 问题原因:Hibernate 6.7的SQM模型在处理set方法的null参数时,无法自动推断出null对应的实体类型,导致调用getClass()时触发空指针异常。
  • 解决方案:使用JpaCriteriaBuilder.nullLiteral()方法明确指定null对应的Java类型,替代直接传递null值。

修改后的代码片段:

// 从EntityManager获取JpaCriteriaBuilder实例
val criteriaBuilder = entityManager.criteriaBuilder
// 通过nullLiteral指定Tag类型的null值
criteriaQuery.set(root.get(MyEntity_.tag), criteriaBuilder.nullLiteral(Tag::class.java))

这样修改后,Hibernate能明确识别要设置的字段类型,避免因无法获取null值的类型信息而抛出异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:04:52