控制台输出错误信息:

org.hibernate.exception.GenericJDBCException:could not execute query

......

Caused by: java.sql.SQLException: 数字溢出

......

实际代码如下:

List list = session.createSQLQuery(hql.toString())

.addScalar("paccno",Hibernate.INTEGER)

.list();

数据库字段定义如下:paccno number(16);

数据库中paccno的值为:2919819148


错误分析:虽然数据库中paccno值为2919819148(看似Integer类型),实际查询paccno值为该字段定义类型的number(16),16为应为Long类型;所以应该改为

List list = session.createSQLQuery(hql.toString())

.addScalar("paccno",Hibernate.LONG)

.list();