Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2022

Banco de DadosSQL
Código
fc064188
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2022
Cargo
Técnico Judiciário - Tecnologia da Informação
Em uma aplicação Java que utiliza JPA 2.0, o método da interface EntityManager, utilizado em operações de alteração de dados, que executa um comando SQL UPDATE na tabela do banco de dados é o
  1. Apersist.
  2. Bmerge.
  3. CexecuteUpdate.
  4. Dsave.
  5. EpushUpdate.
Revelar gabarito e comentário

GabaritoB — merge.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

JPA 2.0: Métodos da EntityManager para UPDATE

Gabarito: letra B. O método merge() da interface EntityManager é o responsável por executar comandos SQL UPDATE na tabela, sincronizando o estado de uma entidade já persistida com o banco de dados. Os demais métodos (persist, executeUpdate, save, pushUpdate) não se encaixam no que a questão pede.

A banca testa o conhecimento dos métodos padrão da JPA 2.0 para operações CRUD. Cada alternativa representa um método que, à primeira vista, pode parecer adequado, mas apenas um cumpre exatamente o papel no contexto da EntityManager.

Alternativa A — ❌ Incorreta

persist() é utilizado para inserir um novo registro no banco, gerando um INSERT. Não realiza atualizações.

Alternativa B — ✅ Correta ⟵ GABARITO

merge() é o método da EntityManager que atualiza uma entidade existente. Internamente, o JPA gera um comando UPDATE na tabela correspondente, considerando a chave primária. Se a entidade não existir, pode gerar um INSERT, mas a função principal na alteração é esta.

Alternativa C — ❌ Incorreta

executeUpdate() é um método da interface Query (obtida via EntityManager.createQuery() ou createNativeQuery()), não da própria EntityManager. Ele serve para executar comandos UPDATE ou DELETE em JPQL ou SQL nativo, mas a questão pede especificamente um método da interface EntityManager.

Alternativa D — ❌ Incorreta

save() é um método do repositório do Spring Data JPA (do CrudRepository), não faz parte da JPA 2.0 padrão. Portanto, não está na interface EntityManager.

Alternativa E — ❌ Incorreta

pushUpdate() não existe na API JPA 2.0. Trata-se de um nome inventado.

PEGA ESSA DICA!

Para questões de JPA, memorize os métodos básicos da EntityManager: persist (INSERT), merge (UPDATE/INSERT), remove (DELETE), find (SELECT por PK), createQuery, etc. Sempre verifique se o método pertence realmente à interface EntityManager (sem dependências externas como Spring).

Gabarito: letra B.

Link permanente: /questoes/fc064188