Alternativa A - EntityManager
A questão aborda os conceitos fundamentais da Java Persistence API (JPA), que é uma especificação para gerenciar objetos relacionais em aplicações Java. Para entender a resposta, precisamos diferenciar os papéis dos principais componentes listados.
Análise dos Componentes
O EntityManager é a classe central e mais utilizada na interação direta com o banco de dados. Suas principais funções incluem:
- Gerenciar o ciclo de vida das entidades (criar, ler, atualizar e excluir);
- Manter o contexto de persistência (tracking de mudanças nos objetos);
- Executar consultas JPQL ou Criteria API.
Em contraste, analisemos por que as outras alternativas não se encaixam na descrição de "manuseio das entidades":
- EntityManagerFactory: É responsável por criar instâncias do
EntityManager. Ela é mais pesada e geralmente inicializada uma única vez durante a aplicação, servindo como fábrica, não como manipulador direto. - Entity: Refere-se ao próprio objeto Java que representa a tabela no banco de dados, não o componente que o controla.
- Transaction: Relaciona-se ao controle de transações (commit/rollback), garantindo integridade, mas não lida diretamente com a manipulação lógica das entidades individuais.
- Column: Geralmente associado à anotação
@Column, usada apenas para mapear atributos de campos para colunas específicas no banco.
Portanto, o componente que atua diretamente sobre as entidades, permitindo operações como persist(), find() ou remove(), é o EntityManager.
Alternativa A.