在多表查询的时候使用hibernate的sql查询的时候,一般返回的是object[]数组,或者可以使用
session.createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); session. session.createSQLQuery(sql).addEntity(entity.class);
/**
* 分页查询sql,sql语句不包含起始记录数和查询记录数
* @param sql
* @param params
* @param start
* @param limit
* @return
*/
public List<Object[]> pageQuerySql2Array(String sql, Object[] params, int start,
int limit) {
SQLQuery query = (SQLQuery) initPageQuery(sql, params, start, limit,
false).setResultTransformer(Transformers.aliasToBean(entityClass));
return (List<Object[]>) query.list();
}
* 分页查询sql,sql语句不包含起始记录数和查询记录数
* @param sql
* @param params
* @param start
* @param limit
* @return
*/
public List<Object[]> pageQuerySql2Array(String sql, Object[] params, int start,
int limit) {
SQLQuery query = (SQLQuery) initPageQuery(sql, params, start, limit,
false).setResultTransformer(Transformers.aliasToBean(entityClass));
return (List<Object[]>) query.list();
}
/**
* 获取泛型类型
*
* @return
*/
@SuppressWarnings("unchecked")
protected Class<T> getGenericClass() {
ParameterizedType type = (ParameterizedType) getClass()
.getGenericSuperclass();
return (Class<T>) type.getActualTypeArguments()[0];
}
* 获取泛型类型
*
* @return
*/
@SuppressWarnings("unchecked")
protected Class<T> getGenericClass() {
ParameterizedType type = (ParameterizedType) getClass()
.getGenericSuperclass();
return (Class<T>) type.getActualTypeArguments()[0];
}