Questão FC373713
Em uma aplicação Jakarta EE, criada e configurada em condições ideais, uma Técnica deseja injetar um EntityManager, que é uma parte essencial da API JPA, em uma classe Enterprise J
Servidores de Aplicação
FCC · 2023
Em uma aplicação Jakarta EE, criada e configurada em condições ideais, uma Técnica deseja injetar um EntityManager, que é uma parte essencial da API JPA, em uma classe Enterprise JavaBean (EJB), imediatamente antes da instrução private EntityManager entityManager;. Para isso, ela terá que utilizar a anotação
- @PersistenceContext
- @Injection
- @EJBInject
- @InjectTransaction
- @EntityInject
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A anotação @PersistenceContext informa ao contêiner Jakarta EE que deve ser injetado um EntityManager gerenciado por contêiner na classe (por exemplo, um EJB), permitindo operações JPA sem criar manualmente a fábrica.
Por padrão ela associa um contexto de persistência com escopo de transação, ou seja, o contexto existe durante a transação ativa; ao confirmar a transação as alterações são sincronizadas com o banco.
É possível ajustar comportamentos com atributos como unitName (nome da unidade de persistência) e PersistenceContextType, escolhendo entre TRANSACTION (padrão) e EXTENDED (útil em beans stateful para manter o contexto além de uma única transação).
Exemplo típico: @PersistenceContext private EntityManager entityManager; — o contêiner injeta e gerencia o ciclo de vida do EntityManager, simplificando o acesso à camada de persistência.
Conteúdo do catálogo FC Concursos · Atualizado em