Query query = session.createSQLQuery(HQLStr)
.setResultTransformer(
Transformers.ALIAS_TO_ENTITY_MAP);
以上代码如果需要使用hibernate的jar包有所不同:需要使用hibernate-distribution-3.3.2.GA 包含的hibernate3.jar 2365KB.
public List queryObjectsBySQL(final String HQLStr,
final Object[] parmaters, final Integer startRow,
final Integer rowCount) throws DaoException {
try {
List list = getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createSQLQuery(HQLStr)
.setResultTransformer(
Transformers.ALIAS_TO_ENTITY_MAP);
if (startRow != null && startRow.intValue() >= 0
&& rowCount != null
&& rowCount.intValue() >= 0) {
query.setFirstResult(startRow);
query.setMaxResults(rowCount);
}
if (parmaters != null && parmaters.length > 0) {
for (int i = 0; i < parmaters.length; i++) {
if ((parmaters[i]) instanceof List) {
List tempList = (List) parmaters[i];
query.setParameterList("typeids",
tempList);
} else {
query.setParameter(i, parmaters[i]);
}
}
}
List list = query.list();
return list;
}
});
return list;
} catch (Exception e) {
throw new DaoException(DaoExceptionType.TYPE_CODE_DAO, e);
}
}