程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Data Redis-UUID ID-ConverterNotFoundException大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Data redis-UUID ID-ConverterNotFoundException?

开发过程中遇到Spring Data redis-UUID ID-ConverterNotFoundException的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Data redis-UUID ID-ConverterNotFoundException的解决方法建议,希望对你解决Spring Data redis-UUID ID-ConverterNotFoundException有所启发或帮助;

编辑:

为了更精确,您必须在上下文中使用名称redisCustomcatonversions注册一个Customcatonversion bean。

所以在你的情况下

@Bean
public Customcatonversion redisCustomcatonversions(){
    return new Customcatonversions(
        Arrays.asList(new UUIDToStringConverter(), new StringToUUIDConverter()))))
}

原版的:

我认为解决此问题的最简单方法是为uuID编写类型转换器。像一个

class UUIDConverter implements Converter<UUID, String>

或在需要时

class UUIDConverter implements Converter<UUID, byte[]>

您必须在上下文中将其注册为bean。

解决方法

我想使用UUID密钥将实体存储在redis中:

@redisHash("order")
public class Order {

    @Id
    private UUID id;

    ...
}

但是,在此设置下出现以下异常:

org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converTing from type [java.util.UUID] to type [byte[]]
at org.springframework.core.convert.support.GenericConversionservice.handleConverterNotFound(GenericConversionservice.java:321) ~[spring-core-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.core.convert.support.GenericConversionservice.convert(GenericConversionservice.java:194) ~[spring-core-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.core.convert.support.GenericConversionservice.convert(GenericConversionservice.java:174) ~[spring-core-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.data.redis.core.convert.MappingredisConverter.toBytes(MappingredisConverter.java:948) ~[spring-data-redis-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.redis.core.convert.MappingredisConverter.lambda$writeInternal$2(MappingredisConverter.java:592) ~[spring-data-redis-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.mapping.model.basicPersistentEntity.doWithProperties(BasicPersistentEntity.java:328) ~[spring-data-commons-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.redis.core.convert.MappingredisConverter.writeInternal(MappingredisConverter.java:584) ~[spring-data-redis-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.redis.core.convert.MappingredisConverter.write(MappingredisConverter.java:396) ~[spring-data-redis-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.redis.core.convert.MappingredisConverter.write(MappingredisConverter.java:122) ~[spring-data-redis-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.redis.core.redisKeyValueAdapter.put(redisKeyValueAdapter.java:208) ~[spring-data-redis-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.keyvalue.core.KeyValueTemplate.lambda$update$1(KeyValueTemplate.java:204) ~[spring-data-keyvalue-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.keyvalue.core.KeyValueTemplate.execute(KeyValueTemplate.java:343) ~[spring-data-keyvalue-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.keyvalue.core.KeyValueTemplate.update(KeyValueTemplate.java:204) ~[spring-data-keyvalue-2.0.6.RELEASE.jar:2.0.6.RELEASE]
at org.springframework.data.keyvalue.repository.support.SimpleKeyValueRepository.save(SimpleKeyValueRepository.java:103) ~[spring-data-keyvalue-2.0.6.RELEASE.jar:2.0.6.RELEASE]
...

当使用String代替UUID时,不会出现此类异常。

如何使用UUID作为ID类型?

大佬总结

以上是大佬教程为你收集整理的Spring Data Redis-UUID ID-ConverterNotFoundException全部内容,希望文章能够帮你解决Spring Data Redis-UUID ID-ConverterNotFoundException所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。