hibernate 一对多查询 对多的一方进行分页,怎么弄!!!

hnbtgiyt 2010-03-12 11:15:21
//查询用户留言
@Override
public List<LeaveWords> getLeaveWords(String userName) {
Session session = null;
List<LeaveWords> leaveWordsArray = new ArrayList<LeaveWords>();
try{
session = super.getHibernateSessionFactory().getSession();
String hql = "from UserInfo where userName=:userName";
Query query = session.createQuery(hql);
query.setString("userName", userName);

UserInfo userInfo = (UserInfo) query.list().get(0);

Hibernate.initialize(userInfo.getLeaveWords1());
leaveWordsArray.addAll(userInfo.getLeaveWords1());
} catch(HibernateException e) {
throw e;
}finally {
if(session != null) {
session.close();
}
}

return leaveWordsArray;
}

这个方法是查询用户留言的信息,通过 Hibernate.initialize(userInfo.getLeaveWords1()); 可以获得用户的留言信息。
但要对留言进行分页查询,这里该如何弄呀!!!急!!!
...全文
470 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnbtgiyt 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 cyuyang 的回复:]
去死什么太短
[/Quote]

够叼
cyuyang 2010-03-14
  • 打赏
  • 举报
回复
去死什么太短
hnbtgiyt 2010-03-13
  • 打赏
  • 举报
回复
不行呀!!!
没有呀!!!
哪里有那种分页,难道hibernate真的不支持这种分页的吗???
有没有人知道呀!
donkee8 2010-03-13
  • 打赏
  • 举报
回复
Query query = this.getSession().createQuery(hql);
query.setFirstResult(?);//初始记录
query.setMaxResults(?);//每页显示数
List ret = query.list();//查询出指定页

不过对你的留言信息不是很清楚
hnbtgiyt 2010-03-13
  • 打赏
  • 举报
回复
谢谢13楼!用你的方法真的把问题解决了。
lazy_guy 2010-03-13
  • 打赏
  • 举报
回复
多方的LIST做分页,HIBERNATE有专门的函数对LIST进行分页的。还可以进行排序
session.createFilter(userInfo.getLeaveWords1(),"order by xx").setFirstResult(10).setMaxResult(50).list();

具体这个createFilter的参数有何作用,请参考API。
macower 2010-03-13
  • 打赏
  • 举报
回复
setFirst()
setMax()
hnbtgiyt 2010-03-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 q137163819 的回复:]
Query query = this.getSession().createQuery(hql);
query.setFirstResult(?);//初始记录
query.setMaxResults(?);//每页显示数
List ret = query.list();//查询出指定页
[/Quote]

这样用法,我也会呀!!!
但这里不是呀!!!
看清楚一点题目吧。
hnbtgiyt 2010-03-13
  • 打赏
  • 举报
回复
这样都看不明白,汗!!!
cyuyang 2010-03-13
  • 打赏
  • 举报
回复
写注释
q137163819 2010-03-13
  • 打赏
  • 举报
回复
Query query = this.getSession().createQuery(hql);
query.setFirstResult(?);//初始记录
query.setMaxResults(?);//每页显示数
List ret = query.list();//查询出指定页


cgcavalier518 2010-03-13
  • 打赏
  • 举报
回复
不知道hibernate能不能做,如要不能做,其它方式也可以吧
zhangzhen6960 2010-03-12
  • 打赏
  • 举报
回复
分页这个我也不怎么会,不好意思啊,大家共同学习;希望有人能早点回答,都学习一下
hnbtgiyt 2010-03-12
  • 打赏
  • 举报
回复
自己顶!!!!!!!
有没有人知道呀!!!!!!
readfuture 2010-03-12
  • 打赏
  • 举报
回复
友情 帮顶。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧