1.-Me bajé el zip con el contenido de hibernate. https://sourceforge.net/projects/hibernate/?source=dlp y en el eclipse, en la carpeta lib, metí los jars siguientes:
- Los que estaban dentro de required ( hibernate-distribution-3.6.10.Final-dist\hibernate-distribution-3.6.10.Final\lib\required) : antlr-2.7.6, commons-collections-3.1, dom4j-1.6.1, javassist-3.12.0.GA, jta-1.1, slf4j-api-1.6.1
- Los de hibernate propiamente dicho (\hibernate-distribution-3.6.10.Final-dist\hibernate-distribution-3.6.10.Final) : hibernate3 e hibernate3testing
- El de JPA (hibernate-distribution-3.6.10.Final-dist\hibernate-distribution-3.6.10.Final\lib\jpa): hibernate-jpa-2.0-api-1.0.1.Final
- Este jar hay que meterlo para evitar la excepción Exception in thread “main” java.lang.NoClassDefFoundError: javax/persistence/EntityListeners (solución hallada en http://technicalrecyclebin.wordpress.com/category/j2ee/hibernate/ )
3.-Yo seguí un muy buen tutorial de creación de la aplicación, donde tras indicarte los ficheros que tienes que crear te brinda la oportunidad de dejar la prueba ejecutada
http://blog.sencide.com/2011/03/hibernate-tutorial-for-beginners.html
4.-Para ese mismo tutorial, os dejo los scripts de creación de mysql, puesto que , tuve algún error, por ejemplo, se me olvidó crear las claves primaras como autoincremental, y si no lo hacía, me salía el siguiente error: org.hibernate.HibernateException: The database returned no natively generated identity value o también otro que indicaba que no tenía un valor por defecto en el id. OJO, yo le llamé a la base de datos, hibernatestruts (con lo cual difiere del ejemplo del tutorial)
delimiter $$
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(100) DEFAULT NULL,
`last_name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8$$
delimiter $$
CREATE TABLE `tasks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
`description` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8$$
SELECT * FROM hibernatestruts.users;
delimiter $$
CREATE TABLE `tasks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`title` varchar(100) DEFAULT NULL,
`description` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8$$
SELECT * FROM hibernatestruts.users;
5.-Una vez que ejecuté como una aplicación Java el test. Procedí a introducirlo con Struts. Para ello, tenía una aplicación creada con el struts-blank de la versión 1.3.10, creé un Action para poder ejecutar mi código y seguí el siguiente tutorial:
http://bernabetorres.wordpress.com/2011/07/27/integracion-de-hibernate-en-struts-1-3-10/
y este
http://www.mkyong.com/struts/struts-hibernate-integration-example/
6.-Finalmente, me leí una documentación adicional
Introducción resumida: http://hareenlaks.blogspot.com.es/2011/03/introduction-to-hibernate.html
Introducción: http://docs.jboss.org/hibernate/core/3.5/reference/en/html/tutorial.html
Lenguaje HQL: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html
Variado: http://viralpatel.net/blogs/introduction-to-hibernate-framework-architecture/
7.-No olvidar, una buena herramienta para el eclipse (en mi caso eclipse Juno)
http://marketplace.eclipse.org/node/420896#.UP0aLoaTrIU