FC ConcursosFC Concursos

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

  1. <factory-unit name="MPEPB123PU" transaction-type="JTA">
  2. <persistence-unit name="MPEPB123PU" transaction-type="RESOURCE_LOCAL">
  3. <database-unit name="MPEPB123PU" driver-type="com.mysql.cj.jdbc.Driver">
  4. <connection-unit database="MPEPB123PU" transaction-type="JTA">
  5. <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

Continue aprendendo