Cargar datos desde una base de datos a un JTree


El día de ayer construí una aplicación en Java en donde se construye un JTree con datos obtenidos desde una base de datos, para lo cual emplee las siguientes herramientas:

  • JDK 1.6
  • NetBeans 5.5
  • HSQL
  • JPA

El resultado lo podemos se ve así

Resultado aplicación

Para realizar las consultas utilicé una base de datos creada en HSQL y el JPA (Java Persistence API) para realizar el mapero O-R. El diagrama de la base de datos es el siguiente:

Diagrama F�sico

Como se puede ver existe una relación jerárquica, en donde un ElementoConjunto puede ser padre de otro ElementoConjunto.

Con las entidades generadas con JPA se pueden ver las relaciones entre las clases. Utilizando un método recursivo se puede crear los diferentes nodos del árbol.

JPA hizo la creación del programa mucho más fácil dedibo a las relaciones que crea entre objetos. También se crearon 2 Named Query para obtener los elementos padres e hijos.

Aún quedan algunas tareas pendientes, pero éste ejemplo básico es de mucha utilidad.

He creado un documento en donde se describe los pasos seguidos Documento con descripción

El proyecto en desarrollado en NetBeans los pueden descargar es un archivo .zip, pero por cuestiones del Blog me toca subirlo como pdf, así que renombrar el archivo a zip Proyecto en NetBeans más script

10 comentarios en “Cargar datos desde una base de datos a un JTree

  1. Muy buen articulo, esto generalmente es un problema en la gente nueva en Java. Al principio cargar una grilla de datos en JTable es complicado, inentendible. Pero el avance de la tecnología Java va mitigando este mito.

  2. Hola a todos ^^, yo tuve que hacer una pequeña aplicacion con esta misma funcionalidad y mi problema fue el siguiente: como yo estaba trabajando con PostgreSQL me salia el error «Internal Exception: org.postgresql.util.PSQLException: ERROR: no existe la relación «miTabla»», despues de devanarme los sesos me di cuenta de que para solucionar esto hay que hacer lo siguiente: poner en el entity correspondiente @Table(name = «\»MiTabla\»») y todo funcionara correctamente…todo por las benditas comillas ¬¬
    Ojala le sea de utilidad a alguien y que no pase por lo que yo pase…ya se que puede ser una estupidez…pero me re molesto!! jajaja… XD

Deja un comentario