首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

EJB3 JPA JPQL 话语 查询 使用 函数 分页 子查询(二)

2012-09-03 
EJB3 JPA JPQL 语句 查询 使用 函数 分页 子查询(二)??计算函数HPQL定义的计算函数包括:ABS?绝对值SQRT?平

EJB3 JPA JPQL 语句 查询 使用 函数 分页 子查询(二)

?

?

计算函数HPQL定义的计算函数包括:ABS?绝对值SQRT?平方根MOD?取余数SIZE?取集合的数量?例://查询所有Order?的订单号及其订单项的数量select o.orderid,?size(o.orderItems) from Order as o group by o.orderid//查询所有Order?的订单号及其总金额/10?的余数select o.orderid,?mod(o.amount, 10) from Order as o??子查询子查询可以用于WHERE?HAVING?条件语句中例://查询年龄为26?岁的购买者的所有Orderselect o from Order as o where o.ower in(select p from Person as p where p.age =26)??结果集分页有些时候当执行一个查询会返回成千上万条记录,事实上我们只需要显示一部分数据。这时我们需要对结果集进行分页,QueryAPI有两个接口方法可以解决这个问题:setMaxResults( )?setFirstResult( )。?setMaxResults方法设置获取多少条记录setFirstResult方法设置从结果集中的那个索引开始获取(假如返回的记录有3条,容器会自动为记录编上索引,索引从0开始,依次为0,1,2)?例:public?List getPersonList(int?max,int?whichpage) {try?{int?index = (whichpage-1) * max;Query query =?em.createQuery("from Person p order by personid asc");List list = query.setMaxResults(max).setFirstResult(index).getResultList();em.clear();//分离内存中受EntityManager管理的实体bean,让VM进行垃圾回收return?list;}?catch?(Exception e) {e.printStackTrace();return null;}}

?

?

?

?

热点排行