控制台输出错误信息:
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();