gpt4 book ai didi

java - 为什么spring data redis findById在升级到版本2.3.2.RELEASE后在Optional中返回空值

转载 作者:行者123 更新时间:2023-12-05 07:03:47 25 4
gpt4 key购买 nike

spring 存储库 findById() 在 spring-data-redis 版本 2.3.1.RELEASE 上运行良好

它在 spring-data-redis 版本 2.3.2.RELEASE 上失败


这里是示例存储库的链接,在 pom.xml 文件中编辑版本,然后运行,然后查看问题

https://github.com/mnguyencntt/spring-data-redis-optional


我的逻辑代码很简单:

如果找到 studentId,则返回现有的 RedisStudent 对象。

否则创建新的 RedisStudent 并存储在 Redis 中,返回新的 RedisStudent 对象。


RedisInfoController.java

    final Optional<RedisStudent> redisExisting = redisStudentRepository.findById(studentId);
if (redisExisting.isPresent()) {
// Spring boot 2.3.2 will print out: RedisStudent(id=null, name=null, age=null, creationTime=null)
// Spring boot 2.3.1 will print out: RedisStudent(id=12345, name=Minh, age=28, creationTime=2020-07-28T21:31:18.318)
log.info("{}", redisExisting.get());
return redisExisting.get();
}
// Spring boot 2.3.1 will print out: Optional.empty
log.info("{}", redisExisting);
RedisStudent student = new RedisStudent();
student.setId(studentId);
student.setName("Minh");
student.setAge("28");
student.setCreationTime(LocalDateTime.now());
return redisStudentRepository.save(student);

最佳答案

您遇到了 DATAREDIS-1191 .它将是 fixed in the 2.3.3.RELEASE .

关于java - 为什么spring data redis findById在升级到版本2.3.2.RELEASE后在Optional中返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63132068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com