Spring e Hibernate con anotaciones

By | 26 diciembre 2011

Hola a todos, ya hace bastante que no actualizaba con un tutorial sobre Java EE, ya toca, y espero que vengan muchos mas, ya que acabo de empezar un nuevo proyecto en JavaEE, por fin…

Si os acordáis, hace ya tiempo realice un tutorial sobre Spring e Hibernate, ahora sobre la base de ese mismo tutorial voy a realizar un ejemplo de como con unos sencillos cambios podemos evitarnos la tediosa tarea de tener que realizar todo el mapeo de la clase para relacionar el bean con su entidad en la base de datos relacional, o lo que es lo mismo, evitarnos tener que escribir el hbm.xml de cada tabla (que gustazo). Empecemos.

Lo primero que debemos es modificar la clase con la que se va a implementar nuestro “miSessionFactory”,  la nueva, que es la que nos permitirá configurar nuestros beans con anotaciones es “org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean“. En consonancia modificaremos la vieja propiedad “mappingResources” por “annotatedClasses”, propia de la nueva clase, y dentro de esta, especificaremos una nueva lista con las clases mediante a anotaciones que debe utilizar Hibernate.

        <property name="annotatedClasses">
            <list>
                <value>nuestro.paquete.Usuario</value>
            </list>
        </property>

Ya tenemos todas las modificaciones hechas para la nueva configuración de Hibernate, el siguiente paso sera incorporar las anotaciones a nuestra clase Usuario.class.

package …;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="usuarios")
public class Usuario implements Serializable {

    @Id
    private String usuario;
    private String contrasena;

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public String getContrasena() {
        return contrasena;
    }

    public void setContrasena(String contrasena) {
        this.contrasena = contrasena;
    }

}

Y ya está, con esto ya tenemos modificado nuestra aplicación para operar mediante anotaciones, bueno…, seria conveniente que estudiaseis diferentes anotaciones, ya que las que hemos utilizado son las mas básicas y hay muchas mas. Desde @GeneratedValue (especifica la estrategia a emplear por Hibernate para la autogeneracion de campos, como el AutoIncrement de MySQL), @Column (nos permite entre otras cosas, especificar el nombre real de la columna en la tabla de la base de datos, por si el nombre con nuestro atributo no coincide), etc…

La dirección con la documentación oficial de Hibernate Annotations la tenéis aquí.

Comparte esta entrada enShare on LinkedIn0Tweet about this on Twitter0Share on Facebook0Share on Google+0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *