什么会更快找到匹配项:迭代列表,或执行 JPQL 查询?当然,平均而言,因为这也取决于匹配项在列表中的位置。答案是否取决于列表大小?
示例:查找名称为“Joe”的人(唯一名称)
JPQL:
TypedQuery<Person> q = em.createQuery( "SELECT p " +
"FROM Person p " +
"WHERE p.name = :name ", Person.class);
q.setParameter("name", "Joe");
return q.getResultList().size() == 1;
迭代:
for (Person p : persons) {
if ("Joe".equals(p.name)) {
return true;
}
}
return false;