作者:W品书坊之品管理 | 来源:互联网 | 2023-09-23 10:03
在多表查询的时候使用hibernate的sql查询的时候,一般返回的是object[]数组,或者可以使用 session.createSQLQuery(sql).setResult
在多表查询的时候使用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 pageQuerySql2Array(String sql, Object[] params, int start,
int limit) {
SQLQuery query = (SQLQuery) initPageQuery(sql, params, start, limit,
false).setResultTransformer(Transformers.aliasToBean(entityClass));
return (List) query.list();
}
/**
* 获取泛型类型
*
* @return
*/
@SuppressWarnings("unchecked")
protected Class getGenericClass() {
ParameterizedType type = (ParameterizedType) getClass()
.getGenericSuperclass();
return (Class) type.getActualTypeArguments()[0];
}