首页 > 技术文章 > java.lang.ClassCastException: userVO cannot be cast to java.util.Map

ping-pong 2018-10-25 21:36 原文

该报错源于在springBoot中使用hibernate使用原生SQL进行查询时,定义的VO类中使用的字段属性与。原生SQL查询的结果不一致。

比例:我们的SQL语句是

select id,name,age from user;

那么userVo中应该定义为:

private long  id;
private String name;
private Int age;
且注意此处的字段类型应该与数据表user表中三个字段类型一致。

 

另外,hibernate使用的过程中.我们通常需要对结果进行解释. 
Hibernate为我们提供了以下3种解释方法: 

Transformers.ALIAS_TO_ENTITY_MAP //把输出结果转换成map  
Transformers.TO_LIST //把结果按顺序排进List  
ransformers.aliasToBean(target) //把结果通过setter方法注入到指定的对像属性中

 

推荐阅读