mysqlHibernate查询时用别名报错在mysql查询工具中,能正常执行SQL:SELECTROLE_IDASVALUE,SNAMEASTESTFROMSYS_ROLEORDERBYROLE_ID;但在代码中就报错.具体错误信息如下:Hibernate:SELEC...
mysql Hibernate 查询时用别名报错
在mysql查询工具中,能正常执行
SQL:SELECT ROLE_ID AS VALUE,SNAME AS TEST FROM SYS_ROLE ORDER BY ROLE_ID;
但在代码中就报错.
具体错误信息如下:
Hibernate: SELECT ROLE_ID AS VALUE,SNAME AS TEST FROM SYS_ROLE ORDER BY ROLE_ID[INFO ] 2014-07-25 17:48:17,558 org.hibernate.type.NullableType.nullSafeGet(NullableType.java:182) 1076189 -could not read column value from result set: ROLE_ID; Column 'ROLE_ID' not found.[WARN ] 2014-07-25 17:48:17,558 org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:77) 1076189 -SQL Error: 0, SQLState: S0022[ERROR] 2014-07-25 17:48:17,558 org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:78) 1076189 -Column 'ROLE_ID' not found.
去掉别名,代码就执行OK.不知道是什么问题,求大神帮帮.
public List executeByPage(final String sqlName) {
Object o = this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createSQLQuery(sqlName);
query.setCacheable(false);
return query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();
}
});
}
展开