hibernate sql查询后对象转换成实体类

在多表查询的时候使用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();
    }
 
    /**
     * 获取泛型类型
     *
     * @return
     */
    @SuppressWarnings("unchecked")
    protected Class<T> getGenericClass() {
        ParameterizedType type = (ParameterizedType) getClass()
                .getGenericSuperclass();
        return (Class<T>) type.getActualTypeArguments()[0];
    }
 

你可能感兴趣的:(hibernate sql查询后对象转换成实体类)