java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
在hibernate自动创建表的时候,主键设置为Long类型,在数据库中存的是bigint类型。如果返回为map类型的多表查询时,强转Long就会报类型转换异常。
DAO:
Query query = session.createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
Service:
Long id= (Long)map.get("id");
解决办法:
Long id= ((BigInteger)map.get("id")).longValue();