?
今也碰到了这个问题 最后我是这样解决的为max字段加别名e:SELECT max (emp_id) e FROM recruit_info hibernate为max字段加类型:getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(sql).addScalar("e", Hibernate.LONG);同事分析,在用到mysql的max、count等函数时,hibernate执行原生sql时没办法识别被函数处理的字段的类型,必须手动指定类型;我的看法是被函数处理的字段类型不是int型另外这个问题最诡异的就是本地代码连远程server数据库没问题,只要把代码发布到server上就会出现这点无法解释