From 754f3f42585f40304436f2f1b6956c776ec99373 Mon Sep 17 00:00:00 2001 From: Julian Horner <julianhorner@web.de> Date: Sun, 26 Jul 2020 15:40:35 +0200 Subject: [PATCH] Update README.md --- README.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/README.md b/README.md index 914dc5d..5c9e1ab 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + # NoSQL-Datenbank für My-Aktion ## Worum geht es in diesem Projekt? @@ -9,6 +10,7 @@ Hibernate OGM ist dazu in der Lage JPQL-Queries zu übersetzen in die Sprache de ## 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 ">" @@ -21,8 +23,45 @@ Im Projekt my-aktion wird an einer Stelle die SQL-Aggregatfunktion SUM genutzt, ### Organizer-Dokument +Da die Dokumente in einer MongoDB-Datenbank immer einen eindeutigen Identifier im Feld *_id* haben müssen, wurde in die Organizer-Entity ein Feld Id eingefügt welches das email-Feld als Identifier ersetzt. Damit dennoch sichergestellt wird das eine bestimmte E-Mail nur einmal vorkommt in der Tabelle, wurde an das email-Feld die Annotation @Column(unique = true) angehängt (siehe untenstehender Code). + + @Entity + public class Organizer extends DateEntity { + //---------------------------------------------------------------------------------------------- + + public static final String findByEmail = "Organizer.findByEmail"; + + //============================================================================================== + + @GeneratedValue + @Id + private Long id; + + @NotNull + @Size(min = 3, max = 20, message = "{organizer.firstName.size}") + private String firstName; + + @NotNull + @Size(min = 3, max = 30, message = "{organizer.lastName.size}") + private String lastName; + + @Pattern(regexp = ".+@.+", message = "{organizer.email.pattern}") + @Column(unique = true) + private String email; + + @NotNull + private String password; + + //---------------------------------------------------------------------------------------------- + + ... + } + ## Wie startet man das Projekt? ### Voraussetzungen + ### Ausführen + + -- GitLab