Taller UD11_02: Añadir ObjectDB a un proyecto IntelliJ (Maven)¶
Que es ObjectDB¶
ObjectDB es un potente sistema de gestión de bases de datos orientado a objetos (ODBMS). Es compacto, fiable, fácil de usar y extremadamente rápido. ObjectDB proporciona todos los servicios estándar de administración de bases de datos (almacenamiento y recuperación, transacciones, administración de bloqueos, procesamiento de consultas, etc.), pero de una manera que facilita el desarrollo y acelera las aplicaciones.
Características clave de la base de datos ObjectDB¶
- Sistema de gestión de bases de datos orientado a objetos (ODBMS) 100% puro Java.
- Sin API propietaria - administrado únicamente por API de Java estándar (JPA 2 / JDO 2).
- Extremadamente rápido: más rápido que cualquier otro producto JPA/JDO.
- Adecuado para archivos de bases de datos que van desde kilobytes hasta terabytes.
- Admite tanto el modo Cliente-Servidor como el modo Integrado.
- JAR único sin dependencias externas.
- La base de datos se almacena como un único archivo.
- Capacidades avanzadas de consulta e indexación.
- Efectivo en entornos multiusuario con mucha carga.
- Puede integrarse fácilmente en aplicaciones de cualquier tipo y tamaño.
- Probado con Tomcat, Jetty, GlassFish, JBoss y Spring.
ObjectDB se puede descargar y utilizar sin coste (incluso comercialmente) con la restricción de un máximo de 10 clases de entidad y un millón de objetos de entidad por archivo de base de datos. Esto podría ser útil para proyectos pequeños, tareas académicas, evaluación y aprendizaje. ObjectDB es un software comercial y su uso sin estas restricciones requiere la compra de una licencia.
Se recomienda probar ObjectDB antes de comprar una licencia.
Más información sobre tipos de licencias: https://www.objectdb.com/database/purchase
Añadir ObjectDB mediante Maven¶
1. Crear un Nuevo Proyecto con Maven:
- Al crear un nuevo proyecto en IntelliJ, selecciona "Maven" como sistema de construcción.

- IntelliJ generará la estructura del proyecto y el archivo
pom.xml.

2. Agregar Dependencias:
- Abre el archivo
pom.xmly agrega el repositorio y las dependencias necesarias.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
3. Actualizar Dependencias:
- Si cambias el archivo
pom.xml, IntelliJ mostrará un botón para cargar los cambios:

Tu primer proyecto con ObjectDB¶
En la web del proyecto ObjectDB puedes descargar un tutorial con un proyecto ya creado para ver como funciona, pero nosotros lo vamos a crear desde cero.
- Código fuente de la clase
Punto.java
Dentro de la carpeta src/main/java crea una nueva clase llamada Punto.java con el siguiente contenido:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | |
- En la misma ruta, crea la clase
TestPunto.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
- Crea la BDOO:
Una vez creado todo el proyecto, y comprobado que no tenga errores de compilación, ejecuta el método main de la clase TestPunto y veras aparecer una carpeta llamada DB en la ruta que contiene un único fichero puntos.odb.

- El resultado en pantalla debe ser similar a este:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Puede que hayas observado que la palabra Punto dentro de las consultas SQL aparece subrayado en rojo. Eso es porque IntelliJ no detecta la clase Punto como una entidad JPA:¶
La solución es tan simple como hacer clic en la bombilla roja que aparece, y elegir la opción de que IntelliJ nos añada el complemento necesario de JPA para "entender" la persistencia de datos.
Ten en cuenta que cada vez que ejecutas el código se añaden 1000 puntos más a la BDOO, así que si lo ejecutas un par de veces más tendras 3000 puntos en la base de datos.
Si quieres volver a empezar solo debes borrar el fichero *.odb y al volver a ejecutar el código se generará de nuevo el fichero con 1000 puntos.
Tarea¶
Ahora genera un documento pdf con el siguiente contenido:
- Explica para que sirven las etiquetas (
@Entity,@Id,@GeneratedValuey@Override) que aparecen en la clasePunto. - Modifica la clase
TestPunto.javapara que la base de datos se cree en la rutabdooen luga deDBy el fichero.odbtenga tu nombre (en mi casodavid.odb). - Modifica el método
mainy añade dos consultas másq3,q4yq5que muestren: q3: La media de los puntos Y.q4: consulte los puntos en los que la X o la Y sean superiores a 50.q5: consulta los puntos ordenando primero descendientemente por la X, y en caso de empate ascendentemente por la Y.
Envía tu fichero pdf con explicaciones detallas sobre los cambios requeridos, adjuntando fragmentos del código añadido (con capturas de pantalla o recortes de código fuente) a la tarea de Aules.

