繁体   English   中英

java persistance查询语言限制结果集

[英]java persistance query language limit resultset

假设我在表“mytable”id中有以下行

1

2

3

......

500

我的查询就像select m from mytable m where m.id < 300如何以相同的顺序获得以下输出?

201

202

...... ......

299

我正在使用setMaxResult(100),但它返回我这样的输出

1

2

......

100

任何建议?

String ql = "select m from mytable m where m.id < 300 order by m.id";
Query query = em.createQuery(ql);
query.setFirstResult(200);
query.setMaxResults(100);

您可以使用setFirstResult来定义起始索引。 setMaxResult一起,您可以获得特定范围。

如果你正在接受JPA,你可以使用order by

直接在您的JPA查询中:

select m from mytable m where m.id < 300 order by m.id

或使用criteria

CriteriaQuery<MyTable> q = cb.createQuery(MyTable.class);
Root<MyTable> c = q.from(MyTable.class);
q.select(c);
q.orderBy(cb.asc(c.get("id")));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM