Skip to content
Snippets Groups Projects
Commit cf8bdbb5 authored by Julian Horner's avatar Julian Horner
Browse files

Update README.md

parent ec77b87a
No related branches found
No related tags found
No related merge requests found
# NoSQL-Datenbank für My-Aktion # NoSQL-Datenbank für My-Aktion
## Worum geht es in diesem Projekt? ## Worum geht es in diesem Projekt?
Die Aufgabe dieses Projekts war es die relationale H2-Datenbank zu ersetzen durch die NoSQL-Datenbank MongoDB, sowie dem Anpassen von My-Aktion an die neue Datenbank. Die Aufgabe dieses Projekts ist es die relationale H2-Datenbank des Projekts my-aktion durch die NoSQL-Datenbank MongoDB zu ersetzen, sowie dem anpassen von my-aktion an die neue Datenbank.
Zur Umsetzung wurde das Mapping-Framework Hibernate OGM genutzt. Hibernate OGM mappt die Entities der Anwendung nicht wie Hibernate ORM, an eine relationale Datenbank sondern an eine NoSQL-Datenbank. Im Falle des Projekt also an eine MongoDB-Datenbank. Zur Umsetzung wurde das Mapping-Framework Hibernate OGM genutzt. Hibernate OGM mappt die Entities der Anwendung nicht wie Hibernate ORM, an eine relationale Datenbank sondern an eine NoSQL-Datenbank. Im Falle des Projekt also an die MongoDB-Datenbank.
Hibernate OGM ist dazu in der Lage JPQL-Queries zu übersetzen in die Sprache der jeweilig angebundenen Datenbank. Der Programmierer muss also die Abfragesprache der genutzten Datenbank nicht zwangsläufig kennen.
## Aufgetretene Probleme
### Aggregatfunktionen in Hibernate OGM
Da Hibernate OGM ein laufender Prozess können bislang nur manche Sprachkonstrukte von JPQL in andere Abfragesprachen übersetzt werden. Was genau übersetzt wird unterscheidet sich je nach genutzter Datenbank. Die Version für MongoDB-Datenbanken unterstützt die folgenden Teile von JPQL:
- simple comparisons using "<", "⇐", "=", ">=" and ">"
- `IS NULL` and `IS NOT NULL`
- the boolean operators `AND`, `OR`, `NOT`
- `LIKE`, `IN` and `BETWEEN`
- `ORDER BY`
Im Projekt my-aktion wird an einer Stelle die SQL-Aggregatfunktion SUM genutzt, diese wird theoretisch nicht unterstützt konnte aber mit einem "workaround" dennoch genutzt werden. Die restlichen Queries konnten Problemlos weiter genutzt werden ohne spezielle Anpassungen vornehmen zu müssen.
### Organizer-Dokument
Hibernate OGM ist dazu in der Lage JPQL-Queries zu übersetzen in die Sprache der jeweilig angebundenen Datenbank. Der Programmierer muss also die Abfragesprache der genutzten Datenbank nicht kennen.
## Wie startet man das Projekt? ## Wie startet man das Projekt?
### Voraussetzungen ### Voraussetzungen
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment