Alternativa D
A questão solicita identificar a alternativa INCORRETA sobre o JPA (Java Persistence API).
Análise do Tema
O JPA é uma especificação do Java que define como objetos devem ser persistidos em bancos de dados relacionais. Ele é baseado no conceito de ORM (Object-Relational Mapping), que permite tratar tabelas do banco como classes Java e colunas como atributos.
Por que a Alternativa D é a Resposta?
A afirmação de que "Com a adoção do JPA eliminamos a necessidade do JDBC" é falsa.
- Dependência Técnica: O JPA é construído sobre o JDBC (Java Database Connectivity). Ele atua como uma camada de abstração que simplifica o uso do JDBC, escondendo a complexidade de abrir conexões, criar statements e processar resultados manualmente.
- Funcionamento Interno: Quando você executa uma operação via JPA (como
entityManager.persist()), o JPA gera comandos SQL e utiliza drivers JDBC para enviar esses comandos ao banco de dados. Sem o JDBC, o JPA não teria como se comunicar com o banco.
Comparativo: JPA vs. JDBC
| Característica | JDBC | JPA |
|---|
| Abstração | Baixa (SQL manual) | Alta (Objetos Java) |
| Complexidade | Código verboso e repetitivo | Código limpo e reduzido |
| Dependência | Base da comunicação | Usa JDBC internamente |
| Uso de SQL | Obrigatório | Opcional (gerado automaticamente) |
Verificação das Outras Alternativas
Para confirmar, analisamos as demais opções que estão corretas:
- (A) É o mecanismo padrão de ORM do Java: Verdadeiro. É a especificação oficial mantida pela Oracle para persistência.
- (B) Trabalha com código anotado Java: Verdadeiro. Utiliza anotações como
@Entity, @Id, @Column para definir o mapeamento. - (C) Precisa de um arquivo de configuração denominado persistence.xml: Verdadeiro. Este arquivo define a "Unidade de Persistência", informando quais entidades fazer parte e qual o provedor de banco de dados.
- (E) Permite mapear os relacionamentos da base de dados: Verdadeiro. Define como as tabelas se conectam (ex:
@OneToMany, @ManyToOne).
Conclusão
O JPA facilita o desenvolvimento, mas não substitui o protocolo de conexão subjacente. Portanto, a eliminação do JDBC é impossível.
Alternativa D.