Hola a todos, hoy os dejo como instalar el framework hibernate en Netbeans.
Hibernate es una herramienta de mapeo objeto-relacional que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones.
Lo primero que debemos hacer es descargarnos Hibernate desde su página oficial. Lo puedes hacer desde aquí.
Tienes que agregar estos JAR a tu proyecto.
Otra forma también es desde la parte donde podemos añadir JAR, en lugar de añadir un JAR, podemos añadir una biblioteca ya establecida, entre ellas, Hibernate.
Os recomiendo la primera opción, ya que siempre podréis poner la versión mas actualizada.
Los JAR que nos hacen falta están en lib/required
Recuerda también que como estamos con base de datos, deberás agregar el JAR del conector de la base de datos.
Ahora tendremos que crear esa conexión desde la pestaña Servicios. Añadimos una nueva conexión a una base de datos.
Os dejo aquí la base de datos para que la importéis.
Seleccionar el SGBD que queremos usar, debemos agregar el JAR del conector.
Tendremos que poner los datos para la conexión.
Podéis pulsar Test Connection para comprobar la conexión.
Una vez este hecho, tendremos la conexión lista.
Ahora volvemos a la parte de los proyectos, creamos un proyecto normal.
Ahora necesitamos un fichero .cfg, este lo podemos crear desde la carpeta Hibernate. Te recomiendo que no metas en ningún paquete, que se quede en el <default-package>
Elige el paquete donde estará y selecciona la conexión creada anteriormente.
Lo abrimos y nos centraremos en la parte de JDBC Properties. Añadiendo lo siguiente:
- Hibernate.connection.driver_class: com.mysql.jdbc.Driver
- Hibernate.connection.username: root
- Hibernate.connection.password: root
- Hibernate.connection.url: jdbc:mysql://localhost:3306/empleadoss_departamentoss?zeroDateTimeBehavior=convertToNull
Tienes que poner tus datos.
Para coger la ruta de la url sin problemas, os recomiendo ir a servicios y ver las propiedades de la conexion, viendo la propiedad Database URL.
Crearemos una clase llamada HibernateUtil con el siguiente contenido. Puede ponerlo en el paquete que tu quieras.
import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { public static SessionFactory buildSessionFactory() { try { return new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } }
Ahora vamos con el fichero de ingeniería inversa. Se hace desde la carpeta Hibernate. Te recomiendo que no metas en ningún paquete, que se quede en el <default-package>
Seleccionamos todas las tablas.
También tendremos que hacer otro fichero más en la misma carpeta Hibernate. El que buscamos es este:
Para hacer este, necesitamos los dos anteriores.
Ahora vamos a hacer una pequeña prueba para ver que funciona. Os dejo el código y el resultado.
import conexion.HibernateUtil; import java.util.Iterator; import modelos.Empleados; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; public class HibernateTest { public static void main(String[] args) { SessionFactory instancia = HibernateUtil.buildSessionFactory(); Session session = instancia.openSession(); Query q = session.createQuery("from Empleados"); Iterator<Empleados> it = q.iterate(); Empleados e; while (it.hasNext()) { e = it.next(); System.out.println(e.getNomEmp() + " " + e.getSalEmp()); } session.close(); } }
Este es el resultado:
Por cierto, es normal que veáis letras rojas al principio, no son errores, solo es información.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. estamos para ayudarte.
Excelente tu explicación, me viene ideal para empezar a usar este framework. Espero que sigas haciendo más de este tema.
Saludos
actualicen esa mondá
Recordad cerrar la instancia sino la conexion se quedara abierta y netbeans no cerrara el proceso cuando se obtenga los resultados
No encuentro la carpeta hibernate
me aparece esto por que ?
No se puede establecer la conexión a jdbc:derby:abarrotes usando org.apache.derby.jdbc.EmbeddedDriver (No se ha encontrado la base de datos ‘abarrotes’.)
Una duda, si necesito meter una tabla nueva a mi base de datos, o actualizar alguna columna de alguna tabla, como podria hacer para que el framework me genere el código de esa nueva tabla?