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

使用Hibernate JsonBinaryType时遇ClassNotFoundException问题求助

解决Hibernate处理JSON字段时的ClassNotFoundException问题

1. 补全缺失的Jackson依赖

出现com.fasterxml.jackson.databind.JsonSerializer找不到的异常,核心原因是项目缺少Jackson核心序列化库。根据你的构建工具添加对应依赖:

Maven(pom.xml)

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version> <!-- 建议使用最新稳定版 -->
</dependency>

Gradle(build.gradle)

implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'

2. 修正实体类的注解用法

JsonBinaryType是Hibernate的自定义类型(实现UserType接口),并非JPA标准的AttributeConverter,所以不能用@Convert注解,要换回@Type:

// entity/User.class
import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
import org.hibernate.annotations.Type;

// 替换掉@Convert注解
@Type(type = "com.vladmihalcea.hibernate.type.json.JsonBinaryType")
private String info;

3. 清理无效配置

你代码中configuration.registerTypeOverride(new JsonBinaryType());属于冗余操作,@Type注解已经明确指定了字段类型,直接删除该行即可。

4. 确认Hibernate Types依赖版本匹配

确保引入的Hibernate Types依赖和你的Hibernate主版本一致,比如:

  • Hibernate 5.5.x 对应 hibernate-types-55
  • Hibernate 6.x 对应 hibernate-types-60

以Maven为例:

<dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-55</artifactId>
    <version>2.20.0</version> <!-- 用最新兼容版本 -->
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:17:16