JPA con Lombok, simplificando.

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:

    <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.2</version>
            <scope>provided</scope>
        </dependency>

Teneis documentación de este proyecto en su pagina web. 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

 

 

1 comentario en “JPA con Lombok, simplificando.”

Deja un comentario