Desculpe se a pergunta é idiota, mas alguém sabe me dizer qual é o mais rápido? ou quando um é mais rápido que o outro?
1 - Filtrando pela Query no banco de dados:
SELECT p FROM Pessoas WHERE p.idade > 15;
2 - Filtrando pela lista:
List<Pessoa> lista = PessoaDAO.getLista();
List<Pessoa> listaFiltrada = new ArrayList<>();
for (Pessoa p : lista){
   if (p.idade > 15){
      listaFiltrada.add(p);
   }
}