我在服务器日志 “用集合获取指定的firstResult / maxResults;在内存中应用!”中 收到警告 。 。但是,一切正常。但我不要这个警告。
public employee find(int id) { return (employee) getEntityManager().createQuery(QUERY).setParameter("id", id).getSingleResult(); }
QUERY = "from employee as emp left join fetch emp.salary left join fetch emp.department where emp.id = :id"
该警告的原因是,当使用访存联接时,结果集中的顺序仅由所选实体的ID定义(而不是由访存的联接定义)。
如果内存中的这种排序引起问题,请不要在JOIN FETCH中使用firsResult / maxResults。