Um administrador de bancos de dados de uma determinada insti...

Próximas questões
Com base no mesmo assunto
Q2542347 Banco de Dados
Um administrador de bancos de dados de uma determinada instituição pública decidiu adotar o JPA 2.0 (Java Persistence API) nas aplicações dessa organização. Dessa forma, é crucial entender os conceitos fundamentais do JPA 2.0 e suas práticas recomendadas para garantir uma implementação eficiente e livre de erros. Diante do exposto, é correto afirmar que o JPA 2.0:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar a questão e entender o porquê da alternativa correta e das incorretas.

Gabarito: A

A alternativa A está correta porque o JPA 2.0 (Java Persistence API) realmente introduziu o conceito de Criteria API. Esse recurso permite criar consultas de forma programática e tipada, ou seja, utilizando a própria linguagem Java para construir consultas de uma maneira mais segura e menos propensa a erros. Isso facilita a manutenção e a legibilidade do código, além de proporcionar um melhor suporte a mudanças futuras nas consultas.

Vamos agora entender as demais alternativas e por que estão incorretas:

Alternativa B: Esta alternativa está incorreta porque o JPA 2.0 oferece sim mecanismos para otimização de consultas. Além disso, é possível utilizar tanto consultas JPQL (Java Persistence Query Language) quanto a Criteria API para realizar operações complexas sem a necessidade de recorrer ao SQL nativo. O JPA é suficientemente poderoso para lidar com grande parte das operações sem precisar sair do contexto da linguagem Java.

Alternativa C: Esta alternativa também está incorreta, pois o JPA 2.0 suporta mapeamento de herança entre entidades. Ele permite diferentes estratégias de herança, como TABLE_PER_CLASS, SINGLE_TABLE e JOINED. Esses recursos são essenciais para modelar domínios complexos em sistemas que utilizam orientação a objetos.

Alternativa D: Novamente, esta alternativa está incorreta. O JPA 2.0 fornece mecanismos robustos para controle transacional, utilizando o EntityTransaction nas aplicações standalone e integrando-se com o gerenciamento de transações do Java EE quando utilizado em servidores de aplicação. Isso permite que o desenvolvedor tenha um controle sofisticado sobre as transações, sem precisar gerenciar tudo manualmente.

Com isso, esperamos que tenha ficado claro o funcionamento do JPA 2.0 e suas funcionalidades. Se tiver mais dúvidas, estou aqui para ajudar!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

[GABARITO: LETRA A]

A afirmativa correta sobre o JPA 2.0 é:

A) Introduziu o conceito de Criteria API, permitindo a criação de consultas de forma programática e tipada.

O JPA 2.0 introduziu a Criteria API, que é uma maneira de construir consultas de forma programática e com tipos seguros, permitindo uma maneira mais flexível e dinâmica de consultar o banco de dados sem usar strings de JPQL (Java Persistence Query Language).

As outras afirmativas estão incorretas:

  • B) Não oferece suporte para a otimização de consultas, exigindo o uso de SQL nativo para operações mais complexas: Na verdade, o JPA suporta otimização de consultas, e as implementações de JPA podem incluir recursos avançados para otimização. SQL nativo pode ser usado se necessário, mas não é uma exigência.
  • C) Não suporta mapeamento de herança entre entidades, limitando a modelagem de domínio em sistemas complexos: O JPA 2.0 suporta mapeamento de herança entre entidades, oferecendo diferentes estratégias de mapeamento como SINGLE_TABLE, TABLE_PER_CLASS, e JOINED.
  • D) Não oferece mecanismos para controle transacional, deixando essa responsabilidade exclusivamente para o desenvolvedor: O JPA 2.0 oferece suporte para controle transacional, geralmente integrado com o contexto de gerenciamento de transações da aplicação ou contêiner de EJB (Enterprise JavaBeans).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo