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

Spring Boot整合Redis报错ConversionFailedException:String转byte失败求助

问题分析与解决方案

核心问题定位

错误提示是从String转byte失败,而你提供的转换器是String→byte[],类型完全不匹配;更关键的是,错误中的bankId值是60:01:XYZ(带冒号的字符串),显然不可能转成单个byte类型,说明你的实体类中bankId字段的类型定义错误。

具体解决步骤

1. 修正实体类的bankId字段类型

打开你的Account实体类,找到bankId字段,把它的类型从byte改成String:

// 错误示例
private byte bankId;

// 正确写法
private String bankId;

你的业务场景中bankId是带格式的字符串,完全不适合用单个byte存储。

2. 移除无用的转换器

你写的RedisStringToBytesConverter是处理String→byte[]的转换,和当前错误无关,直接删除即可。

3. 验证Repository方法参数

确保accountRepository.findAllByBankId的参数定义为List<String>,和实体类字段类型一致:

List<Account> findAllByBankId(List<String> bankIds);

4. 清理Redis中的旧数据(可选)

如果之前Redis中已经存储了类型不匹配的Account数据,需要删除这些旧数据后重新写入,避免读取时仍然出现类型转换错误:

# 用Redis命令删除Account相关的key
DEL Account:*

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 07:57:34