Domain Driven Design mit relationalen Datenbanken und Spring Data JDBC

Domain Driven Design führt die Konzepte Aggregate, Aggregate Root und Repository ein. Wenn man diese Konzepte ernst nimmt, stellt man fest, dass viele Dinge, die man sich im Kampf in der Arbeit mit JPA angewöhnt hat, nicht mehr wirklich akzeptabel sind. Mehr noch, es werden sogar ganze Features von JPA überflüssig oder zumindest wesentlich weniger wichtig. Und das Ganze wird auch noch wartbar und skalierbar. Andererseits könnte es zu einem Streit mit dem Datenbankadministrator kommen, aber man kann nicht alles haben.

Wie sich herausstellt, unterstützt Spring Data JDBC diesen Ansatz. In diesem Vortrag stelle ich vor, wie man sein Objektmodell entsprechend DDD entwirft und mit Spring Data JDBC die dazu passende Datenbankschicht baut. Ich bringe sogar im Übertragenen Sinne Süßigkeiten zur Beruhigung von Datenbankadministratoren mit.