mongoTemplate条件查询时报属性匹配异常信息:Caused by: java.lang.IllegalAccessError: tried to access class org.springframework.beans.PropertyMatches from class org.springframework.data.mapping.PropertyReferenceException
先看代码:
//查询MongoDB中最新的一条数据信息,Device是mongo中映射类
public List<Device> getMongo(){
Query mongoQuery = new Query();
//update_time倒序查询
Sort sort = new Sort(Sort.Direction.DESC,"update_time");
//分页查询
PageRequest pageRequest = new PageRequest(0,2);
mongoQuery.with(sort);
mongoQuery.with(pageRequest);
List<Device> deviceList = mongoTemplate.find(mongoQuery, Device.class);
return deviceList;
}
解决方案:在mongo中“update_time”数据类型是string,这里不能排序,这里改用 id 进行排序,修改后的代码
public List<Device> getMongo(){
Query mongoQuery = new Query();
//update_time倒序查询
Sort sort = new Sort(Sort.Direction.DESC,"id");
//分页查询
PageRequest pageRequest = new PageRequest(0,2);
mongoQuery.with(sort);
mongoQuery.with(pageRequest);
List<Device> deviceList = mongoTemplate.find(mongoQuery, Device.class);
return deviceList;
}