Saltar a contenido

☕ ¿Qué es un POJO en Java?

🧩 Definición

Un POJO (Plain Old Java Object) es una clase simple, sin depender de frameworks, que solo contiene:
- Atributos
- Constructores
- Getters y Setters
- Opcionalmente: toString(), equals(), hashCode()

Son los “bloques básicos” de datos en Java.


✔ Características de un POJO

  • No extiende clases raras.
  • No implementa interfaces obligatorias.
  • No tiene anotaciones avanzadas.
  • No tiene lógica compleja.

Es solo una clase de datos simple.


✨ Ejemplos de POJOS

  • A veces pueden ser llamados bean, o JavaBean. JavaBean es un POJO con extra reglas aplicadas a ellos.
  • Otras veces un POJO puede ser un Entity, relacionado con base de datos porque contiene los datos de las entidades de base de datos.
  • Otro acrónimo usando con los POJOS puede ser un DTO (data transfer object), objeto de transferencia de datos, que es una descripción de un objeto, que puede modelarse como simples datos.

Ejemplo de POJO que contiene el código necesario para manipular datos de un estudiante:

Student.java
public class Student {
    private String id;
    private String name;
    private String dateOfBirth;

    public Student(String id, String name, String dateOfBirth) {
        this.id = id;
        this.name = name;
        this.dateOfBirth = dateOfBirth;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDateOfBirth() {
        return dateOfBirth;
    }

    public void setDateOfBirth(String dateOfBirth) {
        this.dateOfBirth = dateOfBirth;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", dateOfBirth='" + dateOfBirth + '\'' +
                '}';
    }
}

Note

Casi todo el código es generado con el IDE, es este caso, IntelliJ, que hace gran parte del trabajo por nosotros. Este tipo de código tiene un nombre, es lo que se conoce como boilerplate code, o código repetitivo que sigue un patrón.


🎯 ¿Para qué sirve un POJO?

  • Para representar entidades del mundo real: Alumno, Producto, Usuario…
  • Para transportar datos dentro de la aplicación.
  • Para separar lógica de datos (muy importante en POO).

🔍 ¿Por qué es importante?

Porque más adelante usaréis JPA, Hibernate, Spring…
Y todos ellos trabajan sobre POJOs.

Si entiendes cómo funciona un POJO, entenderás:
- Cómo funcionan las entidades.
- Cómo se mapean tablas a clases.
- Cómo se mueven datos por el programa.


🌟 Buenas prácticas con POJOs

  • Mantén los atributos private.
  • Crea constructores útiles.
  • Implementa toString() para depurar.
  • Añade getters y setters para controlar el acceso.
  • No metas lógica compleja dentro.