spring cache 查出来的数据转换报错 (java.util.LinkedHashMap cannot be cast to xxx)

百般思念 提交于 2020-08-07 21:15:39
  1. 在service层能正常查询出来
service 方法:
@Cacheable(value="org", key="#code", condition="#code != null")
public List<OrgEntity> findOrgByCode(String code) {
	List<OrgEntity> orgList = orgDao.findByCode(code);
}
controller方法:
@Mapping("/findOrg")
public void findOrg(Org org) {
	// 这一步都正常,能拿出来放到listOrg
	List<OrgEntity> listOrg = orgService.findByCode(org.getCode);
	// 这一步就报错了,java.util.LinkedHashMap cannot be cast to com.zhoulp.entity.OrgEntity
	for(OrgEntity orgEntity : listOrg) {
		orgEntity.getName();
	}
}
  1. 解决方法,调整controller方法,先序列化成jsonString,再转化成bean(应该不是最好方案,最好方案是查出来,直接能用)
controller方法:
@Mapping("/findOrg")
public void findOrg(Org org) {
	// 这一步都正常,能拿出来放到listOrg
	List<OrgEntity> listOrg = orgService.findByCode(org.getCode);
	// 这一步就报错了,java.util.LinkedHashMap cannot be cast to com.zhoulp.entitu.OrgEntity
	for(Object orgObject : listOrg) {
		String jsonString = JSONObject.toJSONString(orgObject);
		OrgEntity orgEntity = JSONObject.parseObject(jsonString, OrgEntity.class);
		orgEntity.getName();
	}
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!