JPA con Lombok, simplificando. August 24, 2018

En un entrada anterior, explique que para usar JPA hay que tener nuestros objetos POJO definidos .  En esta entrada hablare de como mejorar la la definicion de nuestro objeto POJO, con la libreria Lombok.

Recordar que el código fuente de de este ejemplo esta en: https://github.com/chuchip/jdbc_jpa_tomcat

Anteriormente teniamos definido nuestro objeto de esta manera:

@Entity
@Table(name = "usuario",
        uniqueConstraints = {
            @UniqueConstraint(columnNames = {"login"})})
public class Usuario implements Serializable {

    @Id
    String login;

    @Column
    String nombre;

    public Usuario() {

    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Usuario(String login, String nombre) {
        this.login = login;
        this.nombre = nombre;
    }
}```

Ahora amos a hacer la clase mas facil, gracias a la Lombok. Para ello, a mi proyecto Maven (en el fichero pom.xml) añado la siguiente dependencia:

  org.projectlombok lombok 1.18.2 provided


Teneis documentación de este proyecto en <a href="https://projectlombok.org/" target="_blank" rel="noopener">su pagina web</a>. De momento baste decir que gracias a la anotacion @Data nuestra clase **usuario** se queda así.

import lombok.Data;

@Data @Entity @Table(name = “usuario”, uniqueConstraints = { @UniqueConstraint(columnNames = {“login”})}) public class Usuario implements Serializable {

@Id
String login;

@Column
String nombre;

public Usuario(String login, String nombre) { this.login = login; this.nombre = nombre; } } ```

Mucho mas limpia, ¿ a que si ?. Lombok se encargara de crear el constructor vacio, los setters y getters gracias la anotacion @Data.

Gracias a Lombok, a la hora de compilar Java crea funciones al vuelo, para que nosotros no tengamos que teclear tanto y no nos cansemos 😉

En esta página (una vez más en un perfecto ingles) teneis las diferentes anotaciones que proporciona la libreria Lombok