嗨,我有一个命名查询
@NamedQuery(name = "StudyplanCategory.findByStatusAndLimit",
query = "SELECT s FROM StudyplanCategory s WHERE
s.status =:status LIMIT s.start=:start,s.end=end")
Run Code Online (Sandbox Code Playgroud)
我想设置这样的限制:
@NamedQuery(name = "StudyplanCategory.findByStatusAndLimit",
query = "SELECT s FROM StudyplanCategory s WHERE
s.status =:status LIMIT s.start=:start,s.end=end")
Run Code Online (Sandbox Code Playgroud)
但这在服务器启动时显示错误.我使用以下代码来调用DAO类中的查询:
Query query = entityManager.createNamedQuery("StudyplanCategory.findByStatusAndLimit");
int end=(start*pageNumber);
query.setParameter("status", status);
query.setParameter("start", start);
query.setParameter("end", end);
return (List<StudyplanCategory>) query.getResultList();
Run Code Online (Sandbox Code Playgroud)
需要设置开始和结束参数.请帮忙.
正如@DataNucleus所说,LIMIT不是JPQL中的有效关键字.这不是指定返回多少行的方法.这是你如何做到的:
@NamedQuery(name = "StudyplanCategory.findByStatusAndLimit",
query = "SELECT s FROM StudyplanCategory s WHERE
s.status =:status")
Run Code Online (Sandbox Code Playgroud)
这将是调用命名查询的代码:
Query query = entityManager.createNamedQuery("StudyplanCategory.findByStatusAndLimit");
int end=(start*pageNumber);
query.setParameter("status", status);
query.setFirstResult(start);
query.setMaxResults(end - start);
return (List<StudyplanCategory>) query.getResultList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13576 次 |
| 最近记录: |