我在使用setMaxResult和setFirstResult时遇到了一个严重的问题。当我试图在没有setMaxResults和setFirstResult的情况下获得结果时,它工作正常,返回了所有行。当我使用offset=0和limit=10时,效果很好,返回了10行。当我使用offset=10和limit=10时,它返回5行(必须是7)另一个例子,我使用了offset=0,limit=20,它返回了15行。但它必须是17行。在offset=0和limit=30的情况下,它返回了所有17行....为什么这个查询效果如此糟糕?使用offset=0和limit20,它应该返回所有17行.
我在服务器日志中收到警告“firstResult/maxResultsspecifiedwithcollectionfetch;applyinmemory!”。但是一切正常。但我不想要这个警告。我的代码是publicemployeefind(intid){return(employee)getEntityManager().createQuery(QUERY).setParameter("id",id).getSingleResult();}我的查询是QUERY="fromemployeeasempleftjoinfetchemp.salaryleftjoinfetchemp.depa
我在服务器日志中收到警告“firstResult/maxResultsspecifiedwithcollectionfetch;applyinmemory!”。但是一切正常。但我不想要这个警告。我的代码是publicemployeefind(intid){return(employee)getEntityManager().createQuery(QUERY).setParameter("id",id).getSingleResult();}我的查询是QUERY="fromemployeeasempleftjoinfetchemp.salaryleftjoinfetchemp.depa