HQL对Collection的操作,多对多、多对一等的set可以用此分页
来源:百度文库 编辑:神马文学网 时间:2024/04/28 00:59:05
其实是比较简单的,不要觉得多对多关系是Set而无从下手,实际上Set属性和String、int属性的操作是一样的。
比如Student和Course是多对多的关系,假如要查出一个名为“tomclus”的所有选课,一般用两种方法:
1.student.getCourses()//此student是tomclus
2.使用HQL语句,如下的示例代码:
Query q=session.createQuery("from Student s join fetch s.courses where s.name=‘tomclus‘");
q.setFirstResult(0);
q.setMaxResults(2);//只查询两条记录
List list=q.list();
Student stu=(Student) list.get(0);
log.info(stu.getCourses().size());
上述语句就可以用来分页。
也可以用集合过滤实现:
Query q = s.createFilter( collection, "" ); // 一个简单的过滤器
q.setMaxResults(PAGE_SIZE);
q.setFirstResult(PAGE_SIZE * pageNumber);
List page = q.list();
不用通过初始化,你就可以知道一个集合(Collection)的大小:
( (Integer) session.iterate("select count(*) from ....").next() ).intValue();
比如Student和Course是多对多的关系,假如要查出一个名为“tomclus”的所有选课,一般用两种方法:
1.student.getCourses()//此student是tomclus
2.使用HQL语句,如下的示例代码:
Query q=session.createQuery("from Student s join fetch s.courses where s.name=‘tomclus‘");
q.setFirstResult(0);
q.setMaxResults(2);//只查询两条记录
List list=q.list();
Student stu=(Student) list.get(0);
log.info(stu.getCourses().size());
上述语句就可以用来分页。
也可以用集合过滤实现:
Query q = s.createFilter( collection, "" ); // 一个简单的过滤器
q.setMaxResults(PAGE_SIZE);
q.setFirstResult(PAGE_SIZE * pageNumber);
List page = q.list();
不用通过初始化,你就可以知道一个集合(Collection)的大小:
( (Integer) session.iterate("select count(*) from ....").next() ).intValue();
HQL对Collection的操作,多对多、多对一等的set可以用此分页
对spread的几个操作
javascript对select的操作
s3c2440对nandflash的操作
实验室操作经验(非常难得的,转载于有机网,在此对作者致敬)
C#中对AxSpreadsheet控件的操作
EL表达式对字符串的操作
对前段操作认识误区的反思
对一篇很长的文章做到完美的分页输出
欣喜 一个大学教授竟然对毛主席有如此的认识!
一个大学教授竟然对毛主席有如此的认识!
7种不宜交往的?此,对?小人及对策
对自讨苦吃的改革多一点宽容
Java对注册表操作
EX87 对I2C总线上挂接两个AT24C02的读写操作
EX93 对SPI总线上挂接两个X5045的读写操作
K线理论对市场操作的指导意义
赢家对股市操作和交易系统的看法
公司搞促销活动,以买一赠一等方式组合销售本公司商品,在缴纳企业所得税时对赠送的商品是否确认...
551、 公司搞促销活动,以买一赠一等方式组合销售本公司商品,在缴纳企业所得税时对赠送的商品是否确认收入?
对的时间遇上对的人
对博客赚钱的讨论可以停止了: 一个藏袍
吃什么东西可以降低电脑对身体的辐射?
网上对朝鲜的污蔑可以停止了!