Cómo utilizar Ireport 3.7.3 con Hibernate - poli

Cómo utilizar Ireport 3.7.3 con Hibernate a) Utilizar IReport con una conexión Hibernate. Aunque con IReport se pueden crear conexiones a una base de datos JDBC, con Hibernate la conexión no funciona desde las versiones superiores a 3.7 (cuando se produjo el cambio de Eclipse por NetBeans), el fallo es debido a que IReport no genera bien el classpath que tiene que utilizar la máquina virtual Java. Para solucionar el problema existen tres posibilidades: 1. Dentro de IReport utilice Opciones ‐> JasperReports Properties y marque la opción net.sf.jasperreports.compiler.classpath. Pulse el botón Modificar Propiedad y en el campo de texto Property value añada al path que existe el path del archivo hsqldb.jar por ejemplo: C:\\Eclipse Practicas\\hsqldb_1_8_0_7\\hsqldb\\lib\\hsqldb.jar. 2. En sistemas Windows editar la variable CLASSPATH accesible desde Sistema‐
>Opciones Avanzadas ‐> Variables de entorno y añadir el camino donde se encuentra el jar de la base de datos hsqldb. 3. Copiar el archivo hsqldb.jar que se encuentra en la distribución de hsqldb dentro de la máquina virtual de Java en el directorio jre\ lib\ext, es decir si Java está en Windows en el directorio: C:\Archivos de programa\Java\jre1.6.0_06\lib\ext Aquí debe copiarse. En el caso de que en el PC tenga varias máquinas virtuales, empleando la opción 1 anterior puede deducir cuál es la que utiliza IReport. El problema se presenta también con otras bases de datos y obviamente la solución es la misma. Con esto puede crearse una conexión Hibernate y ejecutar un informe. b) Ejecutar un Report desde Eclipse. Lo anterior resuelve la primera parte del problema, ahora queda ver cómo se utiliza el report compilado desde un programa Java. Es necesario añadir al path del proyecto Eclipse los archivos commons*.jar que se encuentran en el directorio de instalación de Ireport, concretamente en: JasperSoft\IReport‐3.7.3\ireport\modules\ext. Esto es necesario ya que la versión de Hibernate que emplea Jasper es más moderna que la que se encuentra instalada en los laboratorios. [email protected] Página 1