解决springboot整合elasticsearch时分页查询数据,确保数据存在但是响应数据列表为空的问题

问题背景
elasticsearch版本:7.8.0
logstash 版本:7.8.0
spring-boot版本:2.2.4.RELEASE
原有项目为springboot+JPA,在此基础上整合elasticsearch,为方便接收数据新建了object,留取了原表部分字段,同时将留取字段通过logstash导入es。在此基础上进行增删改查测试


问题描述
解决springboot整合elasticsearch时分页查询数据,确保数据存在但是响应数据列表为空的问题_第1张图片

进行查询时以分页对象接收,但返回的响应数据为空列表,通过调试查看,page内有数据,但无法返回
解决springboot整合elasticsearch时分页查询数据,确保数据存在但是响应数据列表为空的问题_第2张图片
解决springboot整合elasticsearch时分页查询数据,确保数据存在但是响应数据列表为空的问题_第3张图片


解决方式
通过多方排查发现定义Entity是使用了以下注解(@Data注解可以省略getter setter方法),未写getter和setter方法,导致了以上问题,补上相关方法后成功解决
改之前:
解决springboot整合elasticsearch时分页查询数据,确保数据存在但是响应数据列表为空的问题_第4张图片

改之后:
解决springboot整合elasticsearch时分页查询数据,确保数据存在但是响应数据列表为空的问题_第5张图片


4.15更新:之前就很疑惑为什么@Data注解是可以省略get set方法的,但是缺少该方法还是取不到数据,近期发现是因为pom里面没有写lombok的依赖(好像是),导致的这个问题。

你可能感兴趣的:(java后端,java,elasticsearch,spring)