hibernate封装的分页查询接口
public interface EntityPageManager<T> extends EntityManager<T> { Page<T> pagedQueryBySimpleHsql(int pageNo, int pageSize, Map<String, String> sortMap, Map<String, Object> filterMap) throws BusinessException; Page<T> pagedQuery(int pageNo, int pageSize, Map<String, Object> filterMap) throws BusinessException; Page<T> pagedQuery(int pageNo, int pageSize, String orderBy, boolean isAsc, Map<String, Object> filterMap) throws BusinessException; Page<T> pagedQuery(int pageNo, int pageSize, Map<String, String> sortMap, Map<String, Object> filterMap) throws BusinessException; }
在controller中调用该接口的方法返回实体对应的数据
page = transAndHisManager.pagedQueryBySimpleHsql(getPageNo(), getPageSize(), sort, filterMap);
有如下的情景:
有交易表 和交易历史表,现在我要通 过pagedQueryBySimpleHsql方法返回两个表的数据。就是说,为了我要把这两个表的数据都查询一次。注意这两个表的数据结构完全相同
这个时候,创建一个视图
create view v_transaction_history as select t.* from adjust_power_transaction t union select s.* from adjust_power_transaction_his s
这样就只需要查询一张表了,建一个实体,查询的时候查这个实体就可以了。
当然,我们也可以通过写hql 和sql的方式调用。