Skip to content

Commit 9af11f5

Browse files
committed
Merge branch 'temp-detached-fix'
2 parents ccc2b78 + 51ff2bd commit 9af11f5

24 files changed

Lines changed: 2249 additions & 49 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ slides/_build
55
docs/_build
66
.venv
77
uv.lock
8+
.DS_Store

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,24 @@ Der Kurs zeigt, wie relationale Datenbanken in professioneller Softwareentwicklu
1010
1111
Die konkrete Unterrichtstechnologie ist Spring Boot. Die behandelten Prinzipien bleiben aber bewusst übertragbar: Datenmodellierung, ORM, Migrationen, Transaktionen, Query Design, Performance und Tests.
1212

13+
## Starterprojekt
14+
15+
Ab Block 2 wird ein kleines Spring-Boot-4-Starterprojekt verwendet:
16+
17+
```text
18+
../db-2-app
19+
```
20+
21+
Das Projekt ist als eigenes Repository beziehungsweise Submodule neben `db-2` eingebunden. Nach der Wiederholung trägt es den ganzen zweiten Block: Die Studierenden klären zuerst, warum ein ORM in der Entwicklung hilft und warum JPA/Hibernate im Java-/Spring-Umfeld verwendet wird. Danach prüfen sie die Spring-Boot-Einrichtung über `pom.xml`, `application.yml`, Entity Mapping und Repositories. Im nächsten Schritt wird Flyway als Migrationswerkzeug im selben Projekt vertieft. Zum Abschluss lesen sie die High-Level-Architektur von `db-2-app` mit Controller, Service, Repository, Mapper, Entity und PostgreSQL.
22+
23+
Der rote Faden von Block 2 lautet:
24+
25+
```text
26+
Warum ORM? -> Warum JPA/Hibernate? -> Warum Flyway-Migrationen? -> Wie arbeitet db-2-app?
27+
```
28+
29+
Das Starterprojekt bleibt dabei bewusst unvollständig. Die Studierenden müssen zentrale Datenbanklogik wie Pflichtfelder, Constraints und Repository-Entscheide selbst entwickeln und begründen. Bereits gelaufene Flyway-Migrationen werden nicht nachträglich angepasst; Verbesserungen entstehen als neue Migrationen.
30+
1331
## Leitfallstudie
1432

1533
Alle Materialien arbeiten mit einem **Ticket-System für internen Support**. Die Fallstudie ist klein genug für Unterrichtslektionen und reich genug für typische Datenbankentwicklungsfragen:

docs/0_intro.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,32 @@ Diese Fallstudie ist klein genug, damit du sie im Unterricht überblicken kannst
3737

3838
## Aufbau des Moduls
3939

40-
Das Modul umfasst neun Blöcke zu je drei Lektionen:
40+
Nach der Standortbestimmung folgt ein zusammenhängender zweiter Block. Er besteht aus drei Kapiteln, die bewusst aufeinander aufbauen: Zuerst klären wir, warum ein ORM in der Entwicklung eingesetzt wird und warum im Java-/Spring-Umfeld JPA mit Hibernate naheliegt. Danach stabilisieren wir das Datenbankschema mit Flyway-Migrationen. Zum Schluss lesen wir die High-Level-Architektur des Starterprojekts `db-2-app` und verfolgen, wie Spring Boot, JPA/Hibernate, Flyway und PostgreSQL im Request-Ablauf zusammenspielen.
41+
42+
Der rote Faden nach der Wiederholung lautet:
43+
44+
> Warum ORM? → Warum JPA/Hibernate im Java-Umfeld? → Wie entsteht das passende Schema kontrolliert mit Flyway? → Wie greifen die Spring-Boot-Schichten darauf zu?
45+
46+
Block 2 erfüllt damit diese Lernziele:
47+
48+
- Du kannst erklären, warum man ein ORM in der Anwendungsentwicklung einsetzt und wo seine Grenzen liegen.
49+
- Du kannst begründen, warum JPA mit Hibernate im Java- und Spring-Boot-Umfeld verwendet wird.
50+
- Du verstehst, wie JPA/Hibernate in Spring Boot über Dependencies, `application.yml`, Entity Mapping und Repository eingerichtet wird.
51+
- Du kannst erklären, warum Flyway-Migrationen verwendet werden und warum gelaufene Migrationen nicht nachträglich geändert werden.
52+
- Du verstehst die High-Level-Architektur von `db-2-app`: Controller, Service, Repository, Entity, Mapper, Flyway, Hibernate und PostgreSQL.
53+
54+
Das Modul umfasst acht Themenbereiche zu je drei Lektionen:
4155

4256
| Block | Thema | Schwerpunkt |
4357
| --- | --- | --- |
4458
| 1 | Wiederholung und Standortbestimmung | Relevantes Vorwissen aus **Relational Databases** aktivieren |
45-
| 2 | Spring Boot, PostgreSQL und Datenbankzugriff | Projektstruktur, Konfiguration, Repository- und Service-Layer |
46-
| 3 | Hibernate/JPA Grundlagen | Entities, Beziehungen, Repositories, CRUD |
47-
| 4 | Transaktionen und Datenkonsistenz | `@Transactional`, Rollback, Invarianten |
48-
| 5 | Schema Design für Softwareprojekte | Constraints, IDs, Statusmodellierung, DTO-Abgrenzung |
49-
| 6 | Flyway und Schema Evolution | Migrationen, Datenmigrationen, sichere Änderungsschritte |
59+
| 2.1 | Hibernate/JPA Grundlagen | ORM-Grundidee, JPA/Hibernate in Spring Boot einrichten, Entity Mapping, Repositories |
60+
| 2.2 | Flyway und Schema Evolution | Migrationen, Datenmigrationen, sichere Änderungsschritte |
61+
| 2.3 | Spring Boot, PostgreSQL und Datenbankzugriff | Projektstruktur, Request-Ablauf, Repository- und Service-Layer |
62+
| 5 | Transaktionen und Datenkonsistenz | `@Transactional`, Rollback, Invarianten |
63+
| 6 | Schema Design für Softwareprojekte | Constraints, IDs, Statusmodellierung, DTO-Abgrenzung |
5064
| 7 | Query Design | Repository Methods, JPQL, native SQL und Reporting |
5165
| 8 | Performance und ORM-Probleme | N+1, Lazy/Eager Loading, Pagination, `EXPLAIN`, Indexe |
52-
| 9 | Projektarbeit und Prüfungsvorbereitung | Review, Konsolidierung, Prüfungstraining |
5366

5467
## Arbeitsweise
5568

docs/1_review_orientation/5_conclusion.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Die wichtigsten Punkte:
1010
- Transaktionen sichern fachliche Abläufe, nicht nur technische Statements.
1111
- Die Ticket-Fallstudie verbindet die kommenden Themen miteinander.
1212

13-
Im nächsten Block schaust du dir an, wie ein Spring-Boot-Backend mit PostgreSQL verbunden wird und wie Controller, Service, Repository und Datenbank zusammenspielen.
13+
Im nächsten Block folgt der rote Faden von der Entwicklungsfrage zur Architektur: Warum ORM, warum JPA/Hibernate im Java-Umfeld, warum Flyway-Migrationen und wie `db-2-app` mit Controller, Service, Repository, Entity, Mapper und PostgreSQL zusammenspielt.

0 commit comments

Comments
 (0)