Usando Hibernate en Java Swing Aplication
Creando la base de datos:
En este tutorial usaremos la base de datos mysql gratuita de netbeans llamada sakila, así que para agregarlo nos vamos al plugin manager de netbeans e instalamos y posteriormente activamos

Después de haber instalado el plugin nos vamos a la ventana de servicios para arrancar el mysql server y posterior con click derecho le damos en crear nueva base de datos:

Una vez agregada si no aparece conectada como en la imagen abajo la activamos mediante click derecho conectar:

Una vez la base de datos este lista procederemos a crear el proyecto.
Nos vamos a New Proyect, seleccionamos Java Aplicaction de la opción Java y le damos siguiente

En la siguiente ventana escribimos el nombre del proyecto (en este ejemplo le llamaremos hibernate_ejemplo), deseleccionamos la opción Use Dedicated Folder, deseleccionamos Create Main Class, y le damos en finalizar

Ahora como siguiente paso le agregaremos el soporte de hibernate a nuestro proyecto agregando las librerías de hibernate, desde el menú projects le damos click derecho al paquete de librerías y le damos en la opción Add Library y seleccionamos las librerías de hibernate en el cuadro de dialogo mostrado

Ya tenemos agregadas las librerías asi q procedemos a crear los archivos de configuración necesarios para hibernate, le damos click derecho al archivo del proyecto y le damos click a Other en la opción New. Ahora en la ventana de New File le damos seleccionamos hibernate y luego Hibernate Configuration Wizard y le damos siguiente.

En la siguiente ventana dejamos la configuración por defecto y le damos siguiente:


Con esto se habrá creado un archivo hibernate.cfg.xml dentro de nuestro proyecto y procederemos a cambiarle algunas opciones en la configuración. En la sección de Optional Properties buscamos Configuration Properties lo expandimos y le damos Add:

Luego buscamos la opción Miscellaneous Properties la expandimos y le damos click en Add y selecionamos la opción hibernate.query.factory_class como Property Name y también seleccionamos org.hibernate.hql.classic.ClassicQueryTranslatorFactory como Property Value

Si le damos en la vista de XML podremos observar algo parecido a lo siguiente:

Como siguiente paso agregaremos el archivo HibernateUtil.java, dando click derecho en el pequete fuente del proyecto, click en New y luego en Other, aparecerá la ventana de nuevo archivo, seleccionamos hibernate y luego seleccionamos HibernateUtil.java y le damos click en siguiente:

En la siguiente ventana escribimos HibernateUtil como nombre de la clase y sakila.util como nombre del paquete y le damos en finalizar:

Ahora crearemos el archivo Reverse Engineering, nos vamos nuevamente al archivo fuente del proyecto, le damos click derecho, New y luego Other, veremos nuevamente la ventana de selección de archivo nuevo, ahí seleccionamos Hibernate Reverse Engineering Wizard en el listado desplegado de hibernate y damos click en siguiente:







Una vez le damos en finalizar ya podemos agregar etiquetas, botones, cajas de texto y también una tabla de manera que se pueda ver de la siguiente forma:


En este editor veremos como se hacen las consultas usando hibernate. Y podemos probar el editor de la siguiente manera:

from Actor a where a.firstName like 'PE%'
from Actor a where a.lastName like 'MO%'
Nos mostrara los siguientes resultados:

Ahora solo nos resta agregarle unas cuantas líneas de código:
private static String Busqueda_Basada_En_Nombre="from Actor a where a.firstName like '";
private static String Busqueda_Basada_En_Apellido="from Actor a where a.lastName like '";
private void runBusquedaBasadaEnNombre () {
executeHQLQuery(Busqueda_Basada_En_Nombre + jTextField1.getText() + "%'");
}
private void run BusquedaBasadaEnApellido () {
executeHQLQuery(Busqueda_Basada_En_Apellido+ jTextField2.getText() + "%'");
}
private void executeHQLQuery(String hql) {
try {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query q = session.createQuery(hql);
List resultList = q.list();
displayResult(resultList);
session.getTransaction().commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
Nos quedara de la siguiente manera:

private void displayResult(List resultList) {
Vector tableHeaders = new Vector();
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
private void displayResult(List resultList) {
Vector
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
“ for(Object o : resultList) {
Actor actor = (Actor)o;
Vector
Leer nota completa...