FC ConcursosFC Concursos

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

  1. conn.find
  2. manager.find
  3. conn.executeQuery
  4. manager.query
  5. 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

Continue aprendendo