ANDRES ALFONSO MIRA MEJIA
✅
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:
@Entity se marca la clase para que JPA la reconozca.@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 o precision y scale 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!
Para profundizar en esas opciones te recomiendo:
Y si quieres aprender con ejemplos guiados paso a paso, en Platzi tenemos el curso de Spring Data JPA 👉 https://platzi.com/cursos/java-spring-data/ 🚀
ANDRES ALFONSO MIRA MEJIA
✅
Cristian Damaso Calderon Rojas
En la ultima linea de applicaction-dev.properties tienes un typo :
hiberbate
Leonardo Cortina
Vladimir Hener Steve Sanchez Astoray
si es normal, a mi tambien me sale gris, lo importante que funcione correctamente.
Andrés Gutierrez Monroy
Es básicamente por los temas que tienes en tu Intelli, son diferentes a los del profe