Questão FC373614
Em uma classe de acesso a dados de uma aplicação web Java que utiliza JPA, em condições ideais, a linha abaixo faz parte de um método que gerencia a conexão com um banco de dados.
Plataforma Java EE
FCC · 2023
Em uma classe de acesso a dados de uma aplicação web Java que utiliza JPA, em condições ideais, a linha abaixo faz parte de um método que gerencia a conexão com um banco de dados.
EntityManagerFactory conn = Persistence.createEntityManagerFactory("MPEPB123PU");
A existência dessa linha na aplicação indica que no arquivo persistence.xml deve haver, dentre outras, a linha
- <factory-unit name="MPEPB123PU" transaction-type="JTA">
- <persistence-unit name="MPEPB123PU" transaction-type="RESOURCE_LOCAL">
- <database-unit name="MPEPB123PU" driver-type="com.mysql.cj.jdbc.Driver">
- <connection-unit database="MPEPB123PU" transaction-type="JTA">
- <property name="MPEPB123PU" transaction-type="RESOURCE_LOCAL">
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
EntityManagerFactory é obtido pelo nome da unidade de persistência definida em persistence.xml. A chamada Persistence.createEntityManagerFactory("MPEPB123PU") busca exatamente uma tag <persistence-unit name="MPEPB123PU">.
O atributo transaction-type="RESOURCE_LOCAL" indica que as transações são gerenciadas localmente pela aplicação (via EntityManager), o que é o comportamento esperado quando se cria a fábrica manualmente com Persistence.createEntityManagerFactory.
Portanto, para que essa linha funcione em condições ideais, o arquivo persistence.xml deve conter a unidade de persistência com o mesmo name e o tipo de transação configurado como RESOURCE_LOCAL, além das demais propriedades (driver, URL, usuário, senha).
Conteúdo do catálogo FC Concursos · Atualizado em