リストを反復処理するか、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;