Crear entidad con anotaciones JPA para tabla de base de datos
Clase 7 de 23 • Curso de Java Spring Boot
Resumen
En el desarrollo de aplicaciones Java con acceso a bases de datos, entender cómo se construye una entidad (entity) y se conecta a una tabla es esencial para un código limpio y mantenible. Gracias a las anotaciones de JPA presentes en Spring Data JPA, el proceso resulta directo y muy flexible. A continuación se resume cómo definir una entidad desde cero, estableciendo el puente entre el modelo de tu aplicación y la base de datos bajo mejores prácticas y tips reales del entorno profesional.
¿Qué es una entidad en Java y cómo se asocia con una tabla?
Una entidad representa una tabla de la base de datos, mientras que los atributos de la clase corresponden a columnas. Utilizando las anotaciones de JPA, se define:
- Con
@Entity
se marca la clase para que JPA la reconozca. - Con
@Table(name = "nombre_tabla")
se especifica el nombre exacto de la tabla.
Esto facilita que el código refleje fielmente la estructura de la base de datos, incluso cuando el nombre de las columnas esté en español o provenga de esquemas heredados.
¿Cómo se estructura y anota una clase entidad en un proyecto Java?
El primer paso es crear un paquete entity
dentro de tu carpeta de persistencia y una clase, por ejemplo, MovieEntity. Se agregan atributos que coinciden con las columnas esperadas:
private Long id;
como identificador primario.private String título;
para el nombre de la película.private Integer duración;
de la película, permitiendo nulos si es necesario.private String género;
con longitud máxima configurada.private LocalDate fechaEstreno;
para almacenar día, mes y año.private BigDecimal clasificación;
respetando precisión y escala para decimales.private String estado;
para indicar disponibilidad: D/N.
Mediante anotaciones de columna (@Column
) se establecen restricciones y características:
nullable = false
asegura que el campo no sea nulo.length
oprecision
yscale
limitan la cantidad de caracteres o decimales.unique = true
garantiza unicidad en valores clave como el título.
La clave primaria se marca como @Id
y se genera automáticamente usando @GeneratedValue(strategy = GenerationType.IDENTITY)
, lo que asegura que el identificador no se repita.
Los getters y setters se pueden generar automáticamente (o con la librería Lombok para mayor simpleza), permitiendo manipular los datos de manera segura y práctica.
¿Cómo se crea y sincroniza la tabla desde la configuración de Spring?
Si la tabla aún no existe en la base de datos, Spring puede crearla automáticamente para fines de desarrollo y pruebas. En el archivo application-dev.properties
, se agregan las siguientes configuraciones:
spring.jpa.hibernate.ddl-auto=update
: actualiza el esquema según sea necesario.spring.jpa.show-sql=true
: muestra en consola las operaciones SQL que ejecuta la aplicación.spring.jpa.properties.hibernate.format_sql=true
: formatea el SQL para facilitar la lectura.
Al reiniciar la aplicación, Spring detecta si la tabla está ausente y la crea junto con las restricciones definidas. Si ya existe, no realiza cambios adicionales. Puedes verificar la creación y contenido usando herramientas visuales de base de datos o ejecutando un select sobre la tabla.
¿Qué sigue después de definir una entidad básica en Java?
Tras vincular entidad y tabla, el siguiente paso es implementar funcionalidades CRUD (crear, leer, actualizar, borrar) utilizando repositorios de Spring. Esto permite manejar los registros mediante operaciones encapsuladas y seguras sin necesidad de escribir consultas SQL complejas. ¡Explora más para gestionar relaciones entre entidades y aprovechar otras anotaciones de JPA!