在过去的4个小时里,我一直在撞墙,尝试不同的排列,更新图书馆等等 - 但无济于事。
我正在调用我的MySQL数据库,其中表'链接'有大约300个条目,我需要使用setFirstResult()
和setMaxResults()
所以我可以在我的数据表中使用分页。
setFirstResult()
适用于查询 - 限制返回的行数...
但setMaxResult()
对限制返回的行数没有影响。
这是我的代码:
public List<Link> getAllLinks(int targetURLId, int limitStart,Integer limitEnd) {
EntityManagerFactory emf = PersistenceManager.getInstance().getEntityManagerFactory();
EntityManager mgr = emf.createEntityManager();
List<Link> links;
limitStart = 0;
limitEnd = 10;
try {
Query query = mgr.createQuery("SELECT u FROM Link u ORDER BY u.links_id");
query.setFirstResult(limitStart);
query.setMaxResults(limitEnd);
links = (List<Link>)query.getResultList();
} finally {
mgr.close();
}
return links;
}
SQL生成:
EJBQueryImpl(ReadAllQuery(referenceClass=Link sql="SELECT LINKS_ID, ANCHOR_TEXT, CLIENT_CATEGORY_ID, DATA_ENTERED_BY, DATE_DETECTED, DATE_EXPIRED, FINAL_TARGET_URL, FINAL_TARGET_URL_ID, LINK_BUILDING_ACTIVITY_ID, SOURCE_ID, TARGET_ID, USER_ASSIGNED_TO, USER_CAMPAIGN, USER_CATEGORY, USERS_USER_ID FROM links ORDER BY LINKS_ID ASC"))
结果是所有链接的列表 - 大约300个,而不仅仅是10个。
有什么想法吗?
这是在google app引擎上,使用cloudSQL。