Questão nº 33
Questão de Tecnologia da Informação - Sistemas de Informação · FCC TRT15 2023 (nº 33)
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
- A`@PersistenceContext` (alternativa correta)
- B`@Injection`
- C`@EJBInject`
- D`@InjectTransaction`
- E`@EntityInject`
Resposta comentada
Gabarito Alternativa A
Em Jakarta EE, o EntityManager é a interface central da JPA para interagir com o banco de dados, e sua injeção em um EJB permite que o container gerencie seu ciclo de vida e transações.
- (A) Correta: A anotação
@PersistenceContexté a forma padrão e específica da JPA em Jakarta EE para injetar umEntityManager(ouEntityManagerFactory), permitindo que o container forneça uma instância gerenciada e associada a uma unidade de persistência. - (B) Incorreta: A anotação
@Injectionnão existe no padrão Jakarta EE. O distrator mais tentador é@Inject(do CDI), que é uma anotação genérica para injeção de dependências. Contudo, paraEntityManager,@PersistenceContexté a anotação específica da JPA que instrui o container a gerenciar o contexto de persistência, sendo a forma mais idiomática e robusta para este caso em EJBs. Usar@InjectparaEntityManagersem@PersistenceContextgeralmente requer um método produtor CDI. - (C) Incorreta: A anotação
@EJBInjectnão existe. A anotação@EJBé usada para injetar outros Enterprise JavaBeans. - (D) Incorreta: A anotação
@InjectTransactionnão existe. O gerenciamento de transações é feito por outras anotações como@Transactionalou via configuração do container. - (E) Incorreta: A anotação
@EntityInjectnão existe. Não há uma anotação padrão com esse nome para injeção de dependências.
Fonte: FCC TRT15 2023 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.