hibernate映射多表到同一个对象后做分页的问题

现在我有12张表,分别是table01-table12,由于12张表的结构一样,同一映射到同一个对象TableBean,在hbm.xml中,写成如下格式:

<hibernate-mapping>
<class name="com.javaeyes.bean.TableBean" table="table_01" entity-name="Table01"/>
<class name="com.javaeyes.bean.TableBean" table="table_02" entity-name="Table02"/>
<class name="com.javaeyes.bean.TableBean" table="table_03" entity-name="Table03"/>
<class name="com.javaeyes.bean.TableBean" table="table_04" entity-name="Table04"/>
<class name="com.javaeyes.bean.TableBean" table="table_05" entity-name="Table05"/>
..........
<class name="com.javaeyes.bean.TableBean" table="table_11" entity-name="Table11"/>
<class name="com.javaeyes.bean.TableBean" table="table_12" entity-name="Table12"/>

每个表使用不同的entity-name来区分,统一都映射到TableBean这个class,

现在我需要从这12张表中查询查出指定条件的数据集,我使用的是QBC查询,定义了分页函数public List findByCriteria(List<Criteria> cs, int rowStart, int rowEnd),传Criteria的list进去进行分页处理查询。

分页函数中,我使用的是TableBean的class,没有用entity-name来查询(网上多是用entity-name来查询,解决不了我的问题)

public List findByCriteria(List<Criteria> cs, int rowStart, int rowEnd)
{
Criteria criteria = getSession().createCriteria(TableBean.getClass());

......//拼criteria,组成查询条件

criteria.setFirstResult(rowStart);
criteria.setMaxResults(rowEnd - rowStart + 1);

list = criteria.list();

return list;
}

现在程序执行时,总的数据集的大小可以取到,第一页也可以取到,但是第二页就取不到了,list返回为空,我debug进去看分页的数据都对,rowEnd,rowStart都是正确的数据,感觉是list = criteria.list();这个找不到分页的位置了,因为是多张表的数据进行分页,不是一张表的数据进行分页。


我该怎么做?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值