hibernate sql查询后对象转换成实体类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
}
* 分页查询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];
}
以上是关于hibernate sql查询后对象转换成实体类的主要内容,如果未能解决你的问题,请参考以下文章
hibernate 中的ORM是如何与数据库实现存储和查询的