Problemas com o filterBy de um dataTable - Primefaces
5 respostas
H
hebaum
Olá Pessoal, estou com o seguinte problema, tenho um método que retorna uma lista de objetos de uma base da dados MySQL, populei um dataTable com estes dados, porém quando digito algo a ser buscado dentro da dataTable é executado várias vezes este meu método que retorna os dados em um List<>.
Com isso trava meu banco pois está chamando o método várias vezes.
Dá uma olhada no xpert-framework ele possui o componente “filterOnEnter” que vincula o filterBy a ser executado apenas quando o usuário pressionar “enter”
Link do showcase:
xpertsistemas.com.br/xpert-showcase-war/views/components/filterOnEnter.jsf
publicstaticList<AlunoBean>getLista()throwsSQLException{System.out.println("entrou aqui");List<AlunoBean>lista=newArrayList<AlunoBean>();Connectioncon=Conexao.getConnection();Stringsql="select * from aluno order by nome";PreparedStatementstmt=con.prepareStatement(sql);ResultSetrs=stmt.executeQuery();while(rs.next()){AlunoBeanaluno=newAlunoBean();aluno.setIdAluno(rs.getInt("idAluno"));aluno.setNome(rs.getString("nome"));aluno.setRm(rs.getString("rm"));aluno.setCpf(rs.getString("cpf"));aluno.setIndicante(rs.getString("indicante"));aluno.setBanco(rs.getString("banco"));aluno.setPerIndicBolsa(rs.getString("perIndicBolsa"));aluno.setPorBolsa(rs.getString("porBolsa"));aluno.setTipoBolsa(rs.getString("tipoBolsa"));aluno.setObservacoes(rs.getString("observacoes"));aluno.setTurma(rs.getString("turma"));lista.add(aluno);}stmt.close();rs.close();con.close();returnlista;}
publicstaticList<AlunoBean>getLista()throwsSQLException{System.out.println("entrou aqui");List<AlunoBean>lista=newArrayList<AlunoBean>();Connectioncon=Conexao.getConnection();Stringsql="select * from aluno order by nome";PreparedStatementstmt=con.prepareStatement(sql);ResultSetrs=stmt.executeQuery();while(rs.next()){AlunoBeanaluno=newAlunoBean();aluno.setIdAluno(rs.getInt("idAluno"));aluno.setNome(rs.getString("nome"));aluno.setRm(rs.getString("rm"));aluno.setCpf(rs.getString("cpf"));aluno.setIndicante(rs.getString("indicante"));aluno.setBanco(rs.getString("banco"));aluno.setPerIndicBolsa(rs.getString("perIndicBolsa"));aluno.setPorBolsa(rs.getString("porBolsa"));aluno.setTipoBolsa(rs.getString("tipoBolsa"));aluno.setObservacoes(rs.getString("observacoes"));aluno.setTurma(rs.getString("turma"));lista.add(aluno);}stmt.close();rs.close();con.close();returnlista;}