我的代码:
@Data
public class DeptDto {
private Integer id;
private String name;
}
Query deptquery = new Query();
deptquery.addCriteria( Criteria.where("name").is("宣传部"));
DeptDto dept = mongoTemplate.findOne(deptquery, DeptDto.class, "dept");
Integer deptId = dept.getId();
mongo中dept表
{
"_id": ObjectId("618cc3efc35138000187ab7d"),
"id": 1,
"name": "开发",
"tel": "",
"_class": "com.webber.cm.pojo.Dept"
}
第三行代码报错!!!
SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [/cm-sites-
在尝试从MongoDB查询数据时遇到类型转换错误,具体为从[Bson.types.ObjectId]到[Integer]的转换失败。问题源于MongoDB的_id字段默认映射到Java实体类的id字段,但类型不匹配。解决方案是在Java实体类的id字段上添加@Field("id")注解,以指定MongoDB中的'id'字段与之对应。
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



