Hibernate用Sql查询封装到实体类
时间:2021-07-01 10:21:17
帮助过:3人阅读
@Override
2 @SuppressWarnings("unchecked"
)
3 public <T> Pagination<T> getPageResultObjectParamsBySql(Class<T>
clazz,
4 String hql,
int pageNo,
int pageSize,
5 Object[] param)
6 throws RuntimeException {
7 List<T> list =
null;
8 Pagination<T>
page;
9 try {
10 Session session =
getSession();
11 log.info("[执行HQL:{}]"
, hql);
12 Query query =
session.createSQLQuery(hql).addEntity(clazz);//重点在这块,把要转换的类加进去,返回数据的时候会自动转换成这个类的对象;
13 buildParam(query, param);
14 list = query.setFirstResult((pageNo - 1) *
pageSize)
15 .setMaxResults(pageSize).list();
16 page =
new Pagination<T>
(list, pageNo, pageSize);
17 }
catch (RuntimeException e) {
18 log.error("[执行basedao#{}出错:{}]", "getPageResult"
, e.getMessage());
19 throw e;
20 }
21 return page;
22 }
另外:.addScalar(columnAlias, type)这个方法,也可以在统计的时候发挥作用,暂时现在还不了解,以后待补充!
Hibernate用Sql查询封装到实体类
标签: