ANÚNCIO

~/questoes/programacao

O que significa a sigla JPA em um projeto Spring Boot?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Programação JPA Intermediario
Aula de referência CRUD Java com Spring Boot 2025
Para fixar

JPA: O Mapeamento Objeto-Relacional no Spring Boot

Conceito central

JPA (Java Persistence API) é a especificação padrão que define como mapear classes Java para tabelas de banco de dados, permitindo que você trabalhe com objetos ao invés de SQL puro. No Spring Boot, frameworks como o Hibernate implementam essa especificação, facilitando a persistência de dados.

Por que essa resposta faz sentido

A alternativa A está correta porque JPA é exatamente isso: uma especificação que padroniza o mapeamento objeto-relacional. Ela define anotações como @Entity, @Id e @Column que transformam classes Java em tabelas de banco de dados, abstraindo a complexidade do SQL.

Armadilhas comuns

  • Confundir JPA com Hibernate: JPA é a especificação, Hibernate é uma implementação dessa especificação.
  • Achar que JPA é um framework: na verdade, é um contrato (especificação) que define regras, permitindo múltiplas implementações.
  • Pensar que JPA substitui SQL completamente: JPA abstrai a maioria das operações, mas SQL ainda é importante quando você precisa de consultas complexas com @Query.

Entenda as alternativas

A

Java Persistence API é a especificação oficial para mapeamento objeto-relacional em Java. Define como representar entidades do banco de dados como objetos Java e vice-versa.

B

Java Programming Abstraction não é o significado de JPA. Embora JPA realmente seja uma abstração, esse termo não é usado para identificar a sigla na comunidade Java.

C

Java Platform Architecture é um conceito muito mais amplo e genérico. JPA é muito mais específico: trata apenas de persistência de dados e mapeamento objeto-relacional.

D

Java Persistence Application descreve uma aplicação que usa persistência, não a especificação em si. Além disso, JPA não é um framework, mas uma especificação que frameworks como Hibernate implementam.

Dica prática: Ao criar uma entidade em Spring Boot, use @Entity para indicar que é mapeada pelo JPA, @Id para marcar a chave primária e @Column para customizar nomes de colunas. Exemplo: @Entity public class Usuario { @Id private Long id; @Column(name="nome_completo") private String nome; }

Revise pensando: Se JPA é apenas uma especificação, qual é a diferença entre JPA e Hibernate na prática do seu projeto Spring Boot?