Giter Site home page Giter Site logo

joseluisgs / blog-jpa-objectdb-accesodatos-2021-2022 Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 2.0 2.54 MB

Ejemplo de desarrollo de un blog (backend básico) para Acceso a Datos, usando una base de datos orientada a objetos ObjectDB y JPA e implementando distintas técnicas y patrones de Acceso a Datos vistos en clase.

License: MIT License

Java 100.00%

blog-jpa-objectdb-accesodatos-2021-2022's Introduction

Blog-Hibernate-ObjectDB-AccesoDatos-2021-2022

Ejemplo de desarrollo de un blog (backend básico) para Acceso a Datos, usando una base de datos orientada a objetos ObjectDB usando JPA e implementando distintas técnicas y patrones de Acceso a Datos vistos en clase.

Kotlin LISENCE GitHub

Descripción

Se ha implementado el desarrollo del un blog a nivel de backend para el acceso a los datos que se necesiten con fines didácticos para el módulo de Acceso a Datos de 2DAM. Debes entender que es un ejemplo didáctico para clase, por lo que parte de la solución simplemente es para mostrar distintas técnicas y patrones y por lo tanto puede que no sea la más óptima o adecuada a niveles de producción o empresarial. Tenlo en cuenta.

Este ejemplo, su arquitectura y parte de su solución proviene del anterior ejemplo visto en clase y que puedes encontrar aquí. La versión relacional usando Hibernate y JPA la tienes en este enlace disponible.

A lo largo de este desarrollo actualizaremos el ejemplo anterior para trabajar con tecnología orientada a objetos y con ella usar Hibernate y JPA para realizar el Mapeo Objeto-Documentos con nuestra base de datos NoSQL con MongoDB.

Tecnologías

Se han usado las siguientes tecnologías:

  • Java 11, como lenguaje de programación.
  • ObjectDB como base de datos orientada a objetos.
  • Docker para lanzar la base de datos, así como otras utilidades para manejarla.
  • Hibernate como OGM
  • JPA: Java Persistence API

Enunciado

Se desea implementar la base de un blog teniendo en cuenta que:

  • Un usuario una vez registrado mediante email y password puede hacer login y logout en el sistema.
  • El usuario puede escribir varios posts los cuales pertenecen solo a una categoría existente, como general, dudas o evaluación. Se pueden crear nuevas categorías.
  • Los usuarios pueden hacer distintos comentarios sobre posts existentes.

Ejemplo de diagrama

diagrama

Desarrollo

GitFlow

Se ha usado GitFlow como modelo de flujo de desarrollo y trabajo con el repositorio.

Arquitectura

Puedes leer sobre ella aquí.

JPA: Java Persistence API

Java Persistence API, más conocida por sus siglas JPA, es la API de persistencia desarrollada para la plataforma Java EE. JPA es una especificación y no un Framework como tal, por lo tanto necesita de alguien que lo implemente, por ejemplo Hibernate.

ObjectDB

ObjectDB es una base de datos orientada a objetos para Java. Se puede utilizar en modo cliente-servidor y en modo incrustado (en proceso).A diferencia de otras bases de datos orientadas a objetos, ObjectDB no proporciona su propia API propietaria. Por lo tanto, el trabajo con ObjectDB requiere el uso de una de las dos API estándar de Java - JPA o JDO. Ambas APIs están incorporadas en ObjectDB, por lo que no es necesario un software ORM intermedio como Hibernate.

Diagrama de la Persistencia

El diagrama de la persistencia generada puede verse en esta imagen. diagrama;

Ejecución

Tools

Para explorar la base de datos, puedes usar Explorer de la carpeta Tools

java -jar explorer.jar

Autor

Codificado con 💖 por José Luis González Sánchez

Twitter GitHub

Contacto

Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬.

        

Licencia

Este proyecto está licenciado bajo licencia MIT, si desea saber más, visite el fichero LICENSE para su uso docente y educativo.

blog-jpa-objectdb-accesodatos-2021-2022's People

Contributors

joseluisgs avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.