Questão FC373631
Considere o bloco de código abaixo, parte de uma classe contida em uma aplicação que utiliza JPA 2.0 com unidade de persistência chamada SistemaPU. private EntityManagerFactory con
Plataforma Java EE
FCC · 2022
Considere o bloco de código abaixo, parte de uma classe contida em uma aplicação que utiliza JPA 2.0 com unidade de persistência chamada SistemaPU.
private EntityManagerFactory conn;
private EntityManager manager;
public void conectar() {
conn = Persistence.createEntityManagerFactory("SistemaPU");
manager = conn.createEntityManager();
}
public Login verificarLogin(String email) {
conectar();
Login dados = \(\overset{I}{......}\)(Login.class, email);
desconectar();
return dados;
}
public void desconectar() {
manager.close();
conn.close();
}
Considerando que a conexão com o banco de dados ocorre com sucesso e que os recursos necessários estão disponíveis e em condições ideais, para que seja realizada a busca na tabela do banco de dados a lacuna I deve ser corretamente preenchida por
- conn.find
- manager.find
- conn.executeQuery
- manager.query
- manager.search
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
Para buscar uma entidade pelo seu identificador na JPA, utiliza-se o método manager.find.
O uso correto no contexto dado é: manager.find(Login.class, email), onde o primeiro argumento é a classe da entidade e o segundo é o valor da chave primária a ser buscada.
Ao chamar manager.find o JPA tenta carregar a entidade do banco e retorna uma instância gerenciada se encontrada, ou null se não houver registro correspondente.
É preciso criar o EntityManager antes da chamada (como feito em conectar()) e fechá‑lo depois (desconectar()).
Esse método realiza a busca diretamente pelo identificador e é a forma padrão e direta de recuperar uma entidade pelo seu PK em JPA.
Conteúdo do catálogo FC Concursos · Atualizado em